Remote Debugging - No Symbols have been loaded for this document

by Goran Siric on Wednesday, December 11, 2019 6:31 AM

Yesterday I had very frustrating day tried to remotely debug my Win32 C++ application.

I just went to the home when colleagaue called me on the phone with information that we have a problem with our last app release. Application just crashed after login screen.

I was under pressure because I was unable to reproduce error on my development machine, so I was forced to do some remote debugging.

So I installed Remote debugging tools on client machine, and copied all debug versions of dlls and app. Also I copied .pdb files on target machine. After that I started msvsmon.exe and launched application.

From Debug options in Visual Studio I selected "Attach to process", choosed "Remotely debug " and entered client machine address, and voila, list of processes on client machine is populated. I selected my app to attach to it,

Debugging started, but I was unable to set break point on code. There was an small red circle with exclamation sign showing the text "No Symbols have been loaded for this document".

I tried everything to get it under debugging but nothing helped. I searched many pages looking for solution, but with no luck.

Everything seemed correct, but I just was unable to set any break point in the code. Finally I decided to revert app to last version and to leave debugging for tomorrow.

As it usually happens, when you move away from the problem you cant solve, the solution comes by itself.

When I was installing Remote Debugging tools on the client machine, I was forced to install x64 version of debugging tools cause there was 64-bit version of Windows installed on the client machine.

Then without to much thinking, I launched 64-bit version of MSVMON.EXE.

But my app is 32-bit application. !?!#$$"#!!.

Even If you install 64-bit version of Remote Debugging tools, there are two version of MSVMON.EXE.

One for remotely debugging 64-bit apps, while the other is fro debugging 32-bit apps.

Interesting thing is that when I finally launched 32-bit version of MSVMON.EXE, there was message displayed that I will not be able to debug 64-bit apps, but there was no info that I would not be able to debug 32-bit apps when running 64-bit version of debugging tools.

Author
Goran Siric

Blog about programming



If you found this useful,
you can buy me a coffe :)

By me a coffe through PayPal :)


Featured articles

Integrating ChatGPT shared links with Sourcetree

We'll guide you through the process of incorporating ChatGPT shared links into your commit messages.

AndEngine - Textures tips and tricks

What you should know abot textures before get started programming your first game.

GIMP script for creating Android icons at once

Script for creating Android icons for different screen resolutions at once. Icons can be saved using standard Android icons naming conventions and saved in appropriate folders.

Creating Android button with image and text using relative layout

Source code with examples how to use relative layout to create nice buttons with text and images in Android

Android application and the Internet

Tutorial about connecting to the web pages on the Internet from Android application, using both POST and GET web requests.