Thread overview
[Issue 8451] New: cv2pdb does not work properly with 2.060-produced binaries
Jul 27, 2012
Andrej Mitrovic
Jul 27, 2012
Andrej Mitrovic
Jul 27, 2012
Rainer Schuetze
Jul 27, 2012
Andrej Mitrovic
Jul 28, 2012
Rainer Schuetze
Jul 28, 2012
Andrej Mitrovic
Sep 17, 2013
Andrej Mitrovic
July 27, 2012
http://d.puremagic.com/issues/show_bug.cgi?id=8451

           Summary: cv2pdb does not work properly with 2.060-produced
                    binaries
           Product: D
           Version: D2
          Platform: All
        OS/Version: Windows
            Status: NEW
          Severity: normal
          Priority: P2
         Component: DMD
        AssignedTo: nobody@puremagic.com
        ReportedBy: andrej.mitrovich@gmail.com


--- Comment #0 from Andrej Mitrovic <andrej.mitrovich@gmail.com> 2012-07-27 07:03:57 PDT ---
module test;
import std.exception;
void main() { enforce(0); }

2.059:

$ dmd -g test.d
$ cv2pdb test.exe test.exe
$ test.exe

object.Exception@test.d(7): Enforcement failed
----------------
D:\DMD\dmd2\windows\bin\..\..\src\phobos\std\exception.d(3

2.060:

$ dmd -g test.d
$ cv2pdb test.exe test.exe
$ test.exe

object.Exception@test.d(3): Enforcement failed
----------------
0x0040BEE8 in std
0x0040BD73 in std
0x004027FE in std
0x00402031 in D main at
D:\DMD\dmd2\windows\bin\..\..\src\phobos\std\exception.d(356)
0x0040256C in std
0x004025A6 in std
0x004021C8 in std
0x004135A1 in std
0x7C817067

Without cv2pdb I cannot see stacktraces regardless of which dbghelp.dll is installed.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
July 27, 2012
http://d.puremagic.com/issues/show_bug.cgi?id=8451



--- Comment #1 from Andrej Mitrovic <andrej.mitrovich@gmail.com> 2012-07-27 07:05:18 PDT ---
(In reply to comment #0)
> module test;
> import std.exception;
> void main() { enforce(0); }
> 
> 2.059:
> 
> $ dmd -g test.d
> $ cv2pdb test.exe test.exe
> $ test.exe
> 
> object.Exception@test.d(7): Enforcement failed

Sorry that was really (3), not (7) when I shortened the sample. The issue is
the printout of "0x0040BEE8 in std" lines which weren't there before.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
July 27, 2012
http://d.puremagic.com/issues/show_bug.cgi?id=8451


Rainer Schuetze <r.sagitario@gmx.de> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |r.sagitario@gmx.de


--- Comment #2 from Rainer Schuetze <r.sagitario@gmx.de> 2012-07-27 08:19:19 PDT ---
The problem is that cv2pdb already demangles the symbols and converts '.' to '@' in the demangled name (otherwise the VS debugger is confuced). The stack tracing seems to remove or cutoff any '@'.

Try "cv2pdb -s. test.exe" to use not replace '@' or  "cv2pdb -n test.exe" to not demangle symbols.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
July 27, 2012
http://d.puremagic.com/issues/show_bug.cgi?id=8451



--- Comment #3 from Andrej Mitrovic <andrej.mitrovich@gmail.com> 2012-07-27 09:01:10 PDT ---
(In reply to comment #2)
> The problem is that cv2pdb already demangles the symbols and converts '.' to '@' in the demangled name (otherwise the VS debugger is confuced). The stack tracing seems to remove or cutoff any '@'.
> 
> Try "cv2pdb -s. test.exe" to use not replace '@' or  "cv2pdb -n test.exe" to not demangle symbols.

I get "unknwon option: -s." and "unknwon option: -n". I don't use VisualD.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
July 28, 2012
http://d.puremagic.com/issues/show_bug.cgi?id=8451



--- Comment #4 from Rainer Schuetze <r.sagitario@gmx.de> 2012-07-28 00:32:07 PDT ---
I guess you should update to a newer version. It seems you are before 0.21, the current version is 0.25.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
July 28, 2012
http://d.puremagic.com/issues/show_bug.cgi?id=8451



--- Comment #5 from Andrej Mitrovic <andrej.mitrovich@gmail.com> 2012-07-28 07:25:38 PDT ---
(In reply to comment #4)
> I guess you should update to a newer version. It seems you are before 0.21, the current version is 0.25.

Thanks, but I still get different stack traces than before. With -n it's the same, with -s.:

object.Exception@test.d(3): Enforcement failed
----------------
0x0040BEE8 in std.exception.enforce!(int).enforce
0x0040BD73 in std.exception.enforce!(int).enforce
0x004027FE in std.exception.enforce!(int).enforce
0x00402031 in D main at
D:\DMD\dmd2\windows\bin\..\..\src\phobos\std\exception.d(356)
0x0040256C in std.exception.enforce!(int).enforce
0x004025A6 in std.exception.enforce!(int).enforce
0x004021C8 in std.exception.enforce!(int).enforce
0x004135A1 in std.exception.enforce!(int).enforce

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
September 17, 2013
http://d.puremagic.com/issues/show_bug.cgi?id=8451


Andrej Mitrovic <andrej.mitrovich@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |WORKSFORME


--- Comment #6 from Andrej Mitrovic <andrej.mitrovich@gmail.com> 2013-09-17 14:51:51 PDT ---
Since I'm on Win7 now and exceptions work by default (without the need for cv2pdb), I'm marking this as WORKSFORME. If anyone else runs into this issue they can reopen or file a new bug.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------