Enable and disable “Step into” debugging on certai

2019-02-07 22:32发布

I have a Visual Studio solution with four C# projects in it. I want to step into the code of a supporting project in the solution from my main project, but when I use the "Step into" key, it just skips over the call into that other project. I've set breakpoints in the supporting project, and they're ignored, and I can't for the life of me get it to step into any references to that project.

Everything is set to compile as "Debug", and I've seen Visual Studio warn me that my breakpoints won't be hit before - it doesn't do that in this case. It's as though it looks as though my code will debug, but then at run-time, there's a setting somewhere that tells Visual Studio not to step through the code in that project. All the other projects in my solutions debug without problems.

What box have I checked to cause this behavior?

UPDATE FOR CLARITY: The "Just my code" option is currently disabled. Also, since the code belongs to a project in my same solution, I don't think the "Just my code" option applies here. I thought it only applied to pre-compiled code that I didn't have the source for, but since I have the source in my project, I don't think this option has any effect.

7条回答
做个烂人
2楼-- · 2019-02-07 22:40

Not sure if this is it, but "Tools>Options>Debugging>General:Enable Just My Code" is a possibility. (I prefer to always leave this unchecked.)

查看更多
小情绪 Triste *
3楼-- · 2019-02-07 22:44

You need to ensure the supporting projects have pdb files or else Visual Studio will not have the necessary information to step through the code.

查看更多
Evening l夕情丶
4楼-- · 2019-02-07 22:46

One thing to check for is that your supporting project assembly has not been installed in the GAC. Open a command prompt and run the following to make sure...

gacutil /l assemblyName

查看更多
Summer. ? 凉城
5楼-- · 2019-02-07 22:53

If you have the source code for the dll's into which you are trying to step into, do the following:

  1. Click on the project in which these dll's are added as reference and remove them.
  2. Add the Project(s) corresponding to the dll(s) to the solution
  3. Right click on the project -> Add Reference -> Choose the newly added Project(s).

Now set the break point and debug the code.. You will be able to step into the code.

The reason for the issue is because you program is still referencing the old dll (without the source code) as it has been added to your project as a reference. Once you remove that dll and add the Project (Source code of the dll) of the dll, Visual studio will be able to step into your code.

查看更多
放荡不羁爱自由
6楼-- · 2019-02-07 23:00

In Visual Studio 2013 one way to cause this behaviour is to set build configuration to Release.
Put it back to Debug and see if that helps.

enter image description here

查看更多
孤傲高冷的网名
7楼-- · 2019-02-07 23:02

A couple of possibilities:

  • There is a check box to step into "just my code". Its intent is to make it so you can't step into Microsoft's Framework code (unless you choose to by unchecking the box).

  • You might try recompiling the supporting code to make sure the code you're debugging exactly matches the code file you're looking at. VS does care about this and will disable a breakpoint if you put it in the code file whose version doesn't match. Also, make sure the PDB file is in the same directory as the DLL.

查看更多
登录 后发表回答