Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Why is Visual Studio skipping over my method when debugging?

I'm attempting to debug into a method in a library (which was installed via NuGet, if that matters), and Visual Studio is skipping over it with the message:

Step into: Stepping over method without symbols 'Cpi.Net.SecureMail.CryptoHelper.FindCertificate'

I have a symbol server source added in the debug settings, and when I first debugged the program, it told me it was downloading the symbols for this library. I have verified that the symbols were indeed downloaded, as they show up in my symbol cache directory.

Thanks to SLaks, I know now that the PDB that has been downloaded from the symbol server is apparently in an obsolete format. If I retrieve the PDB directly from TeamCity's build artifacts, the debugging works.

So, it appears, that somehow, or for some reason, the PDB file is being altered either through the NuGet packaging process, or through the Symbol Server download process (ProGet).

The scope of the question has now, apparently, widened significantly.

like image 906
Mark Avatar asked Feb 04 '14 21:02

Mark


People also ask

How do I fix the Debug executable in Visual Studio?

Just use File/Open Project/Solution, select EXE file and Open it. Then select Debug/Start debugging. The other option is to run the EXE first and then Select Debug/Attach to process.

What is step over in Debug?

Click Step Over on the Debug menu to execute a single instruction on the target. If the instruction is a function call, the whole function is executed. This command is equivalent to pressing F10 or clicking the Step over (F10) button ( ) on the toolbar.

Is VS code good for debugging?

However, for most debugging scenarios, creating a launch configuration file is beneficial because it allows you to configure and save debugging setup details. VS Code keeps debugging configuration information in a launch.

How to use the Visual Studio debugger?

Navigate through code with the Visual Studio debugger 1 Get into "break mode" 2 Step through code 3 Run to a specific location or function 4 Move the pointer to change the execution flow 5 Debug non-user code 6 Step into properties and operators in managed code More ...

What happens if an exception is thrown in the debugger?

An exception is thrown that isn't handled. The debugger is configured to break execution before any handler is invoked. You have set Just My Code, and the debugger is configured to break on any exception that isn't handled in user code.

How do you debug a program quickly?

You can use keyboard shortcuts, debug commands, breakpoints, and other features to quickly get to the code you want to examine. If you're familiar with debugger navigation commands and shortcuts, you can find and resolve app problems faster and more easily.

How do I debug call stack in Visual Studio Code?

While debugging, open the Call Stack window by selecting Debug > Windows > Call Stack. In the Call Stack window, right-click a function and select Run To Cursor, or select Ctrl + F10. For information about visually tracing the call stack, see Map methods on the call stack while debugging.


1 Answers

It turns out that ProGet is indeed mangling the PDB file, in order to have it point to the source server instead of the local build folder for the source files. For some reason, ProGet is creating a PDB that Visual Studio doesn't like. Inedo and I haven't been able yet to nail down why.

like image 120
Mark Avatar answered Nov 01 '22 14:11

Mark