Qt 5.5 MinGW Strange Debugger Issue (Redirect to Disassembler View)



  • When I was debugging my executable (which will load a dll built from the subproject), I set a breakpoint in the code, but whenever I do a single step over, the debugger direct the control flow to the disassembler viewer. And if I continue hit F10 (Step Over), some times the view will come back and hit the next line of source code, Sometimes it won't come back and the console says the executable This application has requested the runtime to terminate it in an unusual way. (I'm building a pure console app now).

    I also noticed that, when the disassembler view showed up, the control flow always switches to Thread #2, but this thread seems doing nothing and useless.

    Sometimes the control flow comes back to the source code, but the little yellow arrow which tells you the current line to be executed disappeared. Then if I hit F10 under in this situation, a prompt says something like SIGILL.

    I can guarantee it's not the source code's problem. Because I can run through these lines of code without setting breakpoint and I checked the results, they're all desired. (I have to print to debug eventually). This is so annoying when debugging.

    Could anybody help? I would appreciated it. (I took several screenshots and couldn't upload it here. Not sure how to do it)


  • Moderators

    Did you build your application in debug mode?



  • @jsulm Yes, I'm pretty sure I did. Although this seems like the debugger can't find the correct symbols. I also tried clean the whole project and do a rebuild.

    I have another guess which is something wrong with the linker. It can't do the work properly in run time when it tries to link the pieces of code and symbols in dll. But this whole issue is just annoying and confusing. So far I haven't been able to figure out more.


  • Moderators

    Did you activate any kind of compiler optimization?


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.