title: Debugging through stacked dlls in visual studio
body: <p>I am using Visual Studio 2017 Enterprise and I have an ASP solution which uses several compiled dlls that reference one another sequentially i.e. my solution references A.dll, A.dll uses B.dll and so on. My solution uses .NET 4.0 and the dlls have each been compiled in .NET 3.5. I want to debug the entire stack until a call in the last dll (D.dll). These are the dlls:</p>
  
  <p><a href="https://i.stack.imgur.com/Vpn4d.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/Vpn4d.png" alt="enter image description here"></a></p>
  
  <p><strong>What I did:</strong> I've unchecked <em>Enable Just My Code</em> and I checked <em>Enable .NET Framework source stepping</em>. I generated the pdb files for each dll using dotpeek and then I moved them in Symbols Cache folder and also specified modules to load these specific dlls.</p>
  
  <p>When I debug (I run the solution in Debug mode with Any CPU configuration) I can see each pdb loaded in the Debug/Windows/Modules window, I can see the source code for each window, and everything works ok until I reach A.dll. When I try to step into B.dll, I get the following message:</p>
  
  <blockquote>
    <p>Your app has entered a break state, but no code is currently executing
    that is supported by the selected debug engine (e.g. only native
    runtine code is executing).</p>
  </blockquote>
  
  <p>What is weird is that if I set Function Breakpoint in the D.dll, that breakpoint is hit, but the same approach does not work with B or C. There is no warning like 'The current breakpoint will not be hit', it just does not trigger. I want to see the entire flow from my solution to the last dll.</p>
  
  <p>Does anybody have any idea why this happens? Do I need to do something else to cascade through the stack call?</p>
  
  <p>Any help is appreciated.</p>