none
Newest MSVC 2017 showing for anything not created by IDE "No disassembly available."

    Question

  • Hi,

    I think from the last MSVC update the debugger stopped working properly. Whenever I attach it to a process without actually building it with the IDE, creating a PDB etc., and then break, the debugger shows the list of threads saying that the thread in question contains "external code" despite I know for a fact that it is inside the DLL of mine and the disassembler shows "No disassembly available.". Sure it cannot load symbols if there's no PDB file, but it should show the disassembly, that's what I'm interested in. It doesn't work whether I used LLVM for compilation or actually VC, just from a command line.

    Any ideas? Some crazy setting I need to change??

    Btw. if I put __asm { int 3 } to force a break, then it actually displays the disassembly! But obviously it's not really possible to work efficiently like this.



    Thursday, September 27, 2018 9:10 PM

All replies

  • Can you make sure, that in 'Debug->Options...' 'Debugging->General'
     'Enable address level debugging' is checked.
     'Show disassembly if source is not available' is checked.
     'Enable Just My Code' is unchecked
     - because when VS does not find symbols with line-information - private pdb - it assumes to be 'external' code.
    If you are debugging more often on machine level, would take a look at standalone
    WinDbg Preview
    https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/debugging-using-windbg-preview

    With kind regards


    Friday, September 28, 2018 11:38 AM
  • Amazing, thank you! 'Show disassembly if source is not available' was not checked and Enable just my code was! I have no idea why, because I never even  opened these settings, but it works now, so everything is fine again!
    Friday, September 28, 2018 12:01 PM