Could not snoop a non Main Window

Aug 19, 2010 at 9:43 AM

I am using Snoop (Change set 51211)  on a x64 window 7 machine and could only snoop the MainWindow. If I show other Windows or Dialogs the Snoop Window is frozen. When I click with Ctrl Shift on an element of the new Window the TreeView in the Snoop window is filled with elemtens but it still is frozen.

Any ideas?

Coordinator
Aug 19, 2010 at 4:44 PM
Edited Aug 19, 2010 at 4:48 PM
Hmmm, this is odd. Change set 51211 was specifically to fix the scenario of Snooping dialogs and non main windows.

Note that the events tab only works with main windows only, this is actually already an issue: http://snoopwpf.codeplex.com/workitem/4984

Can you send me a test harness which reproduces the problem? My email is my first name and then my last name (all together, no space) at gmail.com.

Aug 20, 2010 at 8:39 AM

Cory,

I developed a simple test harness with a button that starts a dialog, but with this app everything works fine. 

But when I open Blend 4 and go to the Tools\Options dialog the same effect takes place. I could not do anything int the snoop window. (Ctrl Shift changes the TreeView selection but the window did not react on any mouse click).

Aug 20, 2010 at 9:26 AM
Edited Aug 20, 2010 at 9:42 AM

I discovered that the ResizeMode property of the dialog window has to be set to “NoResize”.

You have to attach to the Process with Snoop before open the Dialog and then Ctrl Shift click on it. When attaching to the running dialog everything works fine.

When I close the dialog then the Snoop window reacts normal again, I can navigate in the TreeView and look at all elements.

I sent you a test harness.

Coordinator
Aug 20, 2010 at 5:46 PM
Edited Aug 20, 2010 at 5:49 PM

Thanks for the test harness. What I'm observing is that NoResize has nothing to do with it.

It seems to solely dependent on when you click 'Snoop this application' from the application chooser. If you Snoop first, launch the dialog, and then try to inspect, you will not be able to change any properties. However, if you launch the dialog first, then Snoop, you will be able to inspect AND are able to change properties.

What I've also noticed is that my previous fix ... did not fix the ability to Snoop dialogs at all! I must have been confused due to the ordered nature of how you must Snoop dialogs. Well, I will be rolling back the so-called fix in changeset 51211. :)

Can you confirm that you're seeing what I'm seeing as well?

Coordinator
Aug 20, 2010 at 5:56 PM

I think the nature of this issue is around the event loop. Meaning, that a potential workaround for people ... is to launch their Dialogs with Show ... instead of ShowDialog ... just for the time it takes to Snoop and evaluate what's going on.

If you use Show, then it doesn't matter whether you Snoop before or after you have launched the dialog (non main window).

Aug 20, 2010 at 6:02 PM

You are right ResizeMode has nothing to do with it.