View Single Post
09 Nov 2009  
H2SO4

Win7x64
 
 

Quote   Quote: Originally Posted by zx81 View Post
H2SO4,

Thank you for sharing this nice tutorial!

I did not yet installed the Windows debugger, but I have a question.

In the tutorial, I read this:

c) Set the path to be the following:
SRV*C:\SymCache*http://msdl.microsoft.com/download/symbols
I don't understand the above, I never have created a path with SRV*, and the directory, and then a http:// link, can you give an example of how to set the path correctly?

Best regards, and I hope to see a new tutorial from your hand soon ;-)

zx81
Hello zx81. I recall having used your namesake computer somewhere around 1982/83. Ah, the memories

I understand your natural reluctance to call something that looks like the text string above a "path", but it makes sense to the debugger. The SRV... syntax means that what follows is a multi-part value. In detail:

SRV*<path_1>*<path_2> tells the debugger to first try find the symbol in <path_1>, then resort to <path_2> if necessary. If it turns out that <path_2> does have the necessary symbol, it will be automatically copied to <path_1> for faster future access.

These are all valid symbol paths, assuming the C:/D:/E: drives and target folders exist on the machine in question:

SRV*C:\SymCache*http://msdl.microsoft.com/download/symbols

SRV*D:\Symbols*http://msdl.microsoft.com/download/symbols

SRV*E:\MyStuff\Symbols*http://msdl.microsoft.com/download/symbols

The fact that <path_1> is a "DOS" path while <path_2> is reached via HTTP is incidental. This is also a valid sympath, although it obviously doesn't reach the MS symbol server:

SRV*C:\SymCache*E:\SomeApp\Symbols

If appropriate, it is also OK to combine multipath "SRV" entries with traditional syntax (as found in the system PATH environment variable):

E:\SomeApp\Symbols;SRV*C:\SymCache*http://msdl.microsoft.com/download/symbols

Obviously, the example above would be somewhat slower for general-purpose debugging because it would cause the debugger to look in E:\SomeApp\Symbols every single time, before resorting to the SymCache+HTTP combination.

A truly convoluted sympath may be something like this:

E:\SomeApp\Symbols;
SRV*C:\SymCache*http://msdl.microsoft.com/download/symbols;
F:\CompanyFiles\OurSymbols

In practice, once you get to the point where your debugging needs necessitate sympaths that complex, it's better to set up separate "workspaces" for different types of debugging, but that just confuses the issue for our purposes here.

I hope that explanation makes more sense. If not, please let me know!
My System SpecsSystem Spec