This project has moved. For the latest updates, please go here.

Visual Studio 2010 Remote Debugging - Can't find function names

Jul 8, 2011 at 10:28 PM

Hello,

I have a 32bit application running on a remote 64-bit machine.  Using Remote Debug in Visual Studio 2010 from dev machine to connect to the remote machine.  On shutdown of the remote application I get a bunch of memory leaks reported but the function names aren't getting resolved.

WARNING: Visual Leak Detector detected memory leaks!

---------- Block 695 at 0x00A78C78: 78 bytes ----------

Call Stack:

0x01204A9B (File and line number not available): ipConfigureUDPDriver.exe!(Function name unavailable)

0x01203E98 (File and line number not available): ipConfigureUDPDriver.exe!(Function name unavailable)

0x01204A46 (File and line number not available): ipConfigureUDPDriver.exe!(Function name unavailable)

0x011F957E (File and line number not available): ipConfigureUDPDriver.exe!(Function name unavailable)

0x011F879B (File and line number not available): ipConfigureUDPDriver.exe!(Function name unavailable)

0x011F8653 (File and line number not available): ipConfigureUDPDriver.exe!(Function name unavailable)

0x011F8B70 (File and line number not available): ipConfigureUDPDriver.exe!(Function name unavailable)

0x6908DFD3 (File and line number not available): MSVCR90D.dll!_beginthreadex + 0x243 bytes

0x6908DF69 (File and line number not available): MSVCR90D.dll!_beginthreadex + 0x1D9 bytes

0x751633CA (File and line number not available): KERNEL32.dll!BaseThreadInitThunk + 0x12 bytes

0x77539ED2 (File and line number not available): ntdll.dll!RtlInitializeExceptionChain + 0x63 bytes

0x77539EA5 (File and line number not available): ntdll.dll!RtlInitializeExceptionChain + 0x36 bytes

Data:

43 00 3A 00 5C 00 69 00 70 00 43 00 6F 00 6E 00 C.:.\.i. p.C.o.n.

66 00 69 00 67 00 75 00 72 00 65 00 5C 00 33 00 f.i.g.u. r.e.\.3.

30 00 5C 00 32 00 30 00 31 00 31 00 30 00 37 00 0.\.2.0. 1.1.0.7.

30 00 38 00 5C 00 32 00 31 00 31 00 31 00 30 00 0.8.\.2. 1.1.1.0.

30 00 2E 00 4D 00 50 00 45 00 47 00 00 00 0...M.P. E.G.....

 

Coordinator
Jul 8, 2011 at 10:35 PM
You should copy symbol files to remote machine.
Jul 8, 2011 at 10:40 PM

I'm using set _NT_SYMBOL_PATH= when I start remote debugging session on the remote machine so that I don't have to copy over the symbols from my build machine.  Can Visual Detector use the _NET_SYMBOL_PATH and load the symbols over UNC (network drive)?

Example set _NET_SYMBOL_PATH=\\devmachine\symbols

Coordinator
Jul 8, 2011 at 10:46 PM

VLD support following system variables: _NT_SYMBOL_PATH, _NT_ALT_SYMBOL_PATH

Jul 8, 2011 at 11:15 PM

I'm using the _NT_SYMBOL_PATH and set that in the System Properties -> System Environment Variables which Visual Studio is able to use when doing remote debugging for getting the symbols loaded.  Not sure how else to set the _NT_SYMBOL_PATH flag so that Visual Leak Detector is able to find the symbols when using UNC in the _NT_SYMBOL_PATH.  I tested copying the symbols locally and the function names are resolved so I'll just do that when running leak detection.  If anyone else is able to test and get remote debugging working when the symbols files are on a remote machine and using UNC in the _NT_SYMBOL_PATH I'd be interested in trying again to get that working.

Thanks

Coordinator
Jul 10, 2011 at 4:22 PM
Edited Jul 10, 2011 at 4:23 PM

You can set the DBGHELP_DBGOUT environment variable to a non-NULL and check in output window from what directories VLD try load symbols. If bug exist, I think it in VisualLeakDetector::buildsymbolsearchpath(vld.cpp).

Developer
Aug 11, 2011 at 2:22 PM
dboyceman wrote:

I'm using the _NT_SYMBOL_PATH and set that in the System Properties -> System Environment Variables which Visual Studio is able to use when doing remote debugging for getting the symbols loaded.  Not sure how else to set the _NT_SYMBOL_PATH flag so that Visual Leak Detector is able to find the symbols when using UNC in the _NT_SYMBOL_PATH.  I tested copying the symbols locally and the function names are resolved so I'll just do that when running leak detection.  If anyone else is able to test and get remote debugging working when the symbols files are on a remote machine and using UNC in the _NT_SYMBOL_PATH I'd be interested in trying again to get that working.

Thanks

Environment variables have to be set BEFORE the application starts, since once an app starts it gets a *copy* of the environment variables.