Search code examples
windbgremote-debugging

Commands that only affect the local debugger


When doing remote debugging, some commands affect only the local debugger (the debugger on which the command is typed). Examples are:

.wtitle
.cls
.browse
.cmdtree

At the moment these are all looking like UI related commands. Are there more commands that are only executed on the local debugger?

My research effort:

  • I was googling for a list, but maybe the search terms are too common or I don't get them right.

  • I have also tried finding a reference in WinDbg help (.hh) itself. But the fact is not even documented on the affected commands I found so far.

I am aware that this is asking for a favorite external tools or reference. So if you really think this is off-topic, then vote for close.


Solution

  • All debugger processing, including all extension execution, is done in the core debugger process. So 99+% of commands all need to go to the debugger engine (the initial debugger instance) The only commands that run only on the remote debugger are indeed a few UI related commands.

    I will call out one pair of commands that is interesting on this topic which is the mostly commonly used remote debugger:

    .srcpath sets the "source code path" in the debugger engine. This is where the debugger engine will get source information from if it's needed - for example, if a debugger extension wants to get to the source code.

    .lsrcpath (l - for local) sets the "source code path" in the remote debugger. This path will be used in windbg (and cdb\kd also) to pull up source files in the UI.