summaryrefslogtreecommitdiff
path: root/vm_dump.c
diff options
context:
space:
mode:
authorusa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2010-09-30 00:35:23 +0000
committerusa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2010-09-30 00:35:23 +0000
commit02a0e528f9cfadcf1003121a95039644657cf6df (patch)
treeaec795ef091c198d5d20430e1df8a4ca6533c1f5 /vm_dump.c
parentc637e7b458e0b17dff3c67937b4fe1ba656d656c (diff)
* vm_dump.c (dump_thread): fixed wrong type of return value of
SymGetModuleBase64(). [ruby-dev:42306] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29374 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'vm_dump.c')
-rw-r--r--vm_dump.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/vm_dump.c b/vm_dump.c
index 77ce09fc60..f8e3148ac5 100644
--- a/vm_dump.c
+++ b/vm_dump.c
@@ -661,7 +661,7 @@ dump_thread(void *arg)
BOOL (WINAPI *pSymInitialize)(HANDLE, const char *, BOOL);
BOOL (WINAPI *pSymCleanup)(HANDLE);
BOOL (WINAPI *pStackWalk64)(DWORD, HANDLE, HANDLE, STACKFRAME64 *, void *, PREAD_PROCESS_MEMORY_ROUTINE64, PFUNCTION_TABLE_ACCESS_ROUTINE64, PGET_MODULE_BASE_ROUTINE64, PTRANSLATE_ADDRESS_ROUTINE64);
- BOOL (WINAPI *pSymGetModuleBase64)(HANDLE, DWORD64);
+ DWORD32 (WINAPI *pSymGetModuleBase64)(HANDLE, DWORD64);
BOOL (WINAPI *pSymFromAddr)(HANDLE, DWORD64, DWORD64 *, SYMBOL_INFO *);
BOOL (WINAPI *pSymGetLineFromAddr64)(HANDLE, DWORD64, DWORD *, IMAGEHLP_LINE64 *);
HANDLE (WINAPI *pOpenThread)(DWORD, BOOL, DWORD);
@@ -674,7 +674,7 @@ dump_thread(void *arg)
pSymInitialize = (BOOL (WINAPI *)(HANDLE, const char *, BOOL))GetProcAddress(dbghelp, "SymInitialize");
pSymCleanup = (BOOL (WINAPI *)(HANDLE))GetProcAddress(dbghelp, "SymCleanup");
pStackWalk64 = (BOOL (WINAPI *)(DWORD, HANDLE, HANDLE, STACKFRAME64 *, void *, PREAD_PROCESS_MEMORY_ROUTINE64, PFUNCTION_TABLE_ACCESS_ROUTINE64, PGET_MODULE_BASE_ROUTINE64, PTRANSLATE_ADDRESS_ROUTINE64))GetProcAddress(dbghelp, "StackWalk64");
- pSymGetModuleBase64 = (BOOL (WINAPI *)(HANDLE, DWORD64))GetProcAddress(dbghelp, "SymGetModuleBase64");
+ pSymGetModuleBase64 = (DWORD32 (WINAPI *)(HANDLE, DWORD64))GetProcAddress(dbghelp, "SymGetModuleBase64");
pSymFromAddr = (BOOL (WINAPI *)(HANDLE, DWORD64, DWORD64 *, SYMBOL_INFO *))GetProcAddress(dbghelp, "SymFromAddr");
pSymGetLineFromAddr64 = (BOOL (WINAPI *)(HANDLE, DWORD64, DWORD *, IMAGEHLP_LINE64 *))GetProcAddress(dbghelp, "SymGetLineFromAddr64");
pOpenThread = (HANDLE (WINAPI *)(DWORD, BOOL, DWORD))GetProcAddress(GetModuleHandle("kernel32.dll"), "OpenThread");
@@ -727,10 +727,9 @@ dump_thread(void *arg)
DWORD64 addr = frame.AddrPC.Offset;
IMAGEHLP_LINE64 line;
- if (addr == frame.AddrReturn.Offset ||
- addr == 0 || frame.AddrReturn.Offset == 0) {
+ if (addr == frame.AddrReturn.Offset || addr == 0 ||
+ frame.AddrReturn.Offset == 0)
break;
- }
memset(buf, 0, sizeof(buf));
info->SizeOfStruct = sizeof(SYMBOL_INFO);