Thursday, December 22, 2005

Walking the stack, pdb file location.

The service I programmed reports some winsock error message and I want to be able to trace the stack to see where the error comes out.

I keep getting meaningless stack :

Stack Testing
(0) : DDTIE911Attribute.exe at ?()
(0) : DDTIE911Attribute.exe at ?()
(0) : DDTIE911Attribute.exe at ?()
(0) : kernel32.dll at IsProcessorFeaturePresent()

I suspected everything, maybe, the version of the debug dll was not right, and I tried to use a sample small program from Several classes for exception handling, and it worked.

Finally, I found that I had to put the .pdb file in the system32 folder, since that was the directory where the service runs. Even the actual executable was in another directoy.

After I put the .pdb file in the system32 folder, yes, I can read the stack trace now.

The way of learning.

No comments: