Debug Setting question - Stepping into DLL???

I'm sure this is just a setting that someone can point me to.

For some reason, when I reference my dll in a new project that I had built inside an entirely new solution, and then step through the project, it steps into my dll!! I don't want any windows popping up showing my users my source code. How do I stop this from happening



Answer this question

Debug Setting question - Stepping into DLL???

  • Kitz

    Thanks for the explanation! I did always wonder what that pdb file was for; It just wasn't a priority, so I didn't bother to look into to it.

    That aside, although that is a very useful feature for the examples you provided, along with many others I sure of, the point at which I was getting at is that it is rather inconvenient to not allow us to turn that feature off. Maybe there is a way that I'm not aware of; After all, I am self-taught in C#. I was trained in VB.NET, and C++, so C# was pretty easy to learn. Anyways, I remember this same thing happening to me in vb.NET 2005, and I remember correcting it, by setting the following option to "none":

    Project Properties -> Advanced Compile Options -> Generate Debug Info.

    The thing is, is that I can't seem to find the same option in C#.


  • Dracoman

    uh... yeah Are you asking/telling something to me I'm not sure I understand you...

    If you are suggesting that I am intending to deliver the source or pdb, then you are wrong. All I did was create a new solution, then created a new windows form project and then I made a reference to the dll of my system. I didn't register the DLL or anything. All I did was:

    The dll that I am referencing is a completely seperate system that I developed.

    "Add Reference -> Browse -> Navigated to my System's DLL location -> added reference"

    Bare with me about my choice of words, as I this is unfamilar ground I am on right now.


  • Stags

    grrrr... Scroll bars suck, haha! Well, at least when I don't notice them

    So, if I reference the dll from the Release folder I won't have this problem

    Thanks alot!


  • Pooja Katiyar

    It's the same thing. The PDB is also generated for the Release configuration. And what is the problem anyway I have never encountered a situation wher I did not want PDB files to be generated... on the contrary...
  • Koltron

    OK, so you have added a reference to a dll built by you on the same machine, right . You have the source on that machine, right That's why you are seeing the source when you are debugging the new project. But your users won't have the source on their machines so they cannot see it.


  • 24sharon

    Go to Build Tab of Project properties, Find button Advanced... at the end of the form, and from Advanced Build Properties dialog set the Debug info to none. Do this only if you need it. Maybe is better to reference the dll from Release folder.

  • feby

    Hmm... it shows you the source because you have the source and the pdb file (debug symbols) on your machine. Normally you don't deliver the pdb to your users and much less the source...


  • mark12345678

    That's pretty odd behavior for .NET... I would think that the only way my source would show up is if I reference the actual Project files, not the compiled DLL.

    Oh well. I'll try loading this on a test machine and see what happens. Thanks:)


  • dvl_vn

    Actually this is a very useful feature for a devloper and it's not only .NET that does it, VC++ does it too. One example is that you start the project from outside VS, it crashes and you attach the debugger to it. When you attach the debugger it does not have any solution/project loaded but it's able to find the source if you have it on your machine.

    Perhaps I should explain how this really works. When you build a dll/exe 2 files are generated. One is the dll the other is a file that contains debugging information and it's called Program Database (pdb). Among other things this file records the locations of the source from which the dll/exe was built. So all that a debugger does is to load this pdb file (if available) and then it can locate the source file on your disk (if available). The solution/project does not need to be involved.


  • Debug Setting question - Stepping into DLL???