зеркало из https://github.com/github/ruby.git
* 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
This commit is contained in:
Родитель
c637e7b458
Коммит
02a0e528f9
|
@ -1,3 +1,8 @@
|
|||
Thu Sep 30 09:34:03 2010 NAKAMURA Usaku <usa@ruby-lang.org>
|
||||
|
||||
* vm_dump.c (dump_thread): fixed wrong type of return value of
|
||||
SymGetModuleBase64(). [ruby-dev:42306]
|
||||
|
||||
Wed Sep 29 21:04:05 2010 URABE Shyouhei <shyouhei@ruby-lang.org>
|
||||
|
||||
* test/ruby/test_rubyoptions.rb (TestRubyOptions::test_script_from_stdin):
|
||||
|
|
|
@ -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);
|
||||
|
|
Загрузка…
Ссылка в новой задаче