You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by gs...@apache.org on 2008/02/13 16:30:14 UTC

svn commit: r627473 - /harmony/enhanced/drlvm/trunk/vm/vmcore/src/util/win/stack_dump_platf.cpp

Author: gshimansky
Date: Wed Feb 13 07:30:12 2008
New Revision: 627473

URL: http://svn.apache.org/viewvc?rev=627473&view=rev
Log:
Applied patch from HARMONY-5497
[drlvm][signals] Crash handler does not show line info on Win/x86_64


Modified:
    harmony/enhanced/drlvm/trunk/vm/vmcore/src/util/win/stack_dump_platf.cpp

Modified: harmony/enhanced/drlvm/trunk/vm/vmcore/src/util/win/stack_dump_platf.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/vmcore/src/util/win/stack_dump_platf.cpp?rev=627473&r1=627472&r2=627473&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/vmcore/src/util/win/stack_dump_platf.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/vmcore/src/util/win/stack_dump_platf.cpp Wed Feb 13 07:30:12 2008
@@ -75,6 +75,7 @@
 
         if (hdbghelp)
         {
+            SymSetOptions(SYMOPT_LOAD_LINES);
             g_SymFromAddr = (SymFromAddr_type)::GetProcAddress(hdbghelp, "SymFromAddr");
             g_SymGetLineFromAddr64 = (SymGetLineFromAddr64_type)::GetProcAddress(hdbghelp, "SymGetLineFromAddr64");
             g_SymGetLineFromAddr = (SymGetLineFromAddr_type)::GetProcAddress(hdbghelp, "SymGetLineFromAddr");
@@ -176,6 +177,8 @@
     {
         DWORD offset;
         IMAGEHLP_LINE64 lineinfo;
+        lineinfo.SizeOfStruct = sizeof(IMAGEHLP_LINE64);
+
         if (g_SymGetLineFromAddr64(GetCurrentProcess(),
                                    (DWORD64)(POINTER_SIZE_INT)ip,
                                    &offset, &lineinfo))
@@ -190,6 +193,8 @@
     {
         DWORD offset;
         IMAGEHLP_LINE lineinfo;
+        lineinfo.SizeOfStruct = sizeof(IMAGEHLP_LINE);
+
         if (g_SymGetLineFromAddr(GetCurrentProcess(),
                                  (DWORD)(POINTER_SIZE_INT)ip,
                                  &offset, &lineinfo))