[LLVMdev] just-in-time debugging of assertion failures with MSVC

Victor Zverovich victor.zverovich at googlemail.com
Wed Nov 4 07:32:48 PST 2009


Dear all,

I am writing a compiler backend using LLVM with MSVC and have noticed that
in LLVM version 2.6 it is no longer possible to use Just-In-Time Debugger at
the point of assertion failure. The call stack is printed instead and the
debugger stops at some strange location with the call stack like the
following:

> msvcr80d.dll!_NMSG_WRITE(int rterrnum=5111881)  Line 198 C
  msvcr80d.dll!_close_nolock(int fh=7209065)  Line 93 + 0x67 bytes C
  msvcr80d.dll!_close_nolock(int fh=5111881)  Line 93 + 0x67 bytes C
  msvcr80d.dll!_close_nolock(int fh=7209065)  Line 93 + 0x67 bytes C
  msvcr80d.dll!_close_nolock(int fh=6619238)  Line 93 + 0x67 bytes C
  libmmd.dll!0069006e()
  [Frames below may be incorrect and/or missing, no symbols loaded for
libmmd.dll]
  msvcr80d.dll!_close_nolock(int fh=7209065)  Line 93 + 0x67 bytes C
  msvcr80d.dll!_close_nolock(int fh=6619238)  Line 93 + 0x67 bytes C
  libmmd.dll!0069006e()
  msvcr80d.dll!_close_nolock(int fh=7209065)  Line 93 + 0x67 bytes C
  msvcr80d.dll!_close_nolock(int fh=6619238)  Line 93 + 0x67 bytes C
  libmmd.dll!0069006e()
  msvcr80d.dll!_close_nolock(int fh=7209065)  Line 93 + 0x67 bytes C
  msvcr80d.dll!_close_nolock(int fh=6619238)  Line 93 + 0x67 bytes C
  libmmd.dll!0069006e()
  msvcr80d.dll!_close_nolock(int fh=5111881)  Line 93 + 0x67 bytes C
  msvcr80d.dll!_close_nolock(int fh=5111881)  Line 93 + 0x67 bytes C
  msvcr80d.dll!_close_nolock(int fh=5111881)  Line 93 + 0x67 bytes C
  msvcr80d.dll!_close_nolock(int fh=5177412)  Line 93 + 0x67 bytes C

Is there a way to get the old behaviour of handling (or indeed "not
handling") the assertion failures?

Best regards,
Victor
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20091104/630a3a81/attachment.html>


More information about the llvm-dev mailing list