StackWalker moved to CodePlex
If you have ever published an article on CodeProject, you will see that maintanance an ariticle is practicale impossible. In the last several years, I improved the source-code of my “StackWalker” article outside of codeproject, but this also leads to confusion…
So today I moved at least the source code to codeplex:
http://stackwalker.codeplex.com/
November 16th, 2009 at 09:55
very nice! I personally discovered your software about 1 year ago, and was using it in my several projects, and found that it really helps! But I always wondering why you didn’t use any VCS to manage the source code and release. Now finally, lol
btw, is there any update in Codeplex since RC9?
thanks again for your work, anyway~
November 23rd, 2009 at 10:33
Hello, I need you help
I use this code to process exception
I found some times the result of StackWalker doesn’t like vs2005’s result?
nRetCode = StackWalk64(
IMAGE_FILE_MACHINE_I386,
m_hProcess,
m_hThread,
&m_Stackframe,
&m_Context,
ReadProcessMemory,
SymFunctionTableAccess64,
SymGetModuleBase64,
NULL
);
how to explain it?
Wish you EMail
September 15th, 2010 at 11:31
Hi Jochen,
I am using your tool LeakFinder from codeproject on Win32 and Win64.
It is working perefectly fine when run on Win32 and I am getting following output (as expected) :
######## CRT-Leaks ########
————— Key: 63, 32 bytes ———
d:\tempproj\leakfinder-rc5\main.cpp (44): main
f:\sp\vctools\crt_bld\self_x86\crt\src\crt0.c (327): __tmainCRTStartup
f:\sp\vctools\crt_bld\self_x86\crt\src\crt0.c (196): mainCRTStartup
7C817067 (kernel32): (filename not available): RegisterWaitForInputIdle
————— Key: 64, 10 bytes ———
d:\tempproj\leakfinder-rc5\main.cpp (18): Func5
d:\tempproj\leakfinder-rc5\main.cpp (23): Func4
d:\tempproj\leakfinder-rc5\main.cpp (27): Func3
d:\tempproj\leakfinder-rc5\main.cpp (31): Func2
d:\tempproj\leakfinder-rc5\main.cpp (35): Func1
d:\tempproj\leakfinder-rc5\main.cpp (47): main
f:\sp\vctools\crt_bld\self_x86\crt\src\crt0.c (327): __tmainCRTStartup
f:\sp\vctools\crt_bld\self_x86\crt\src\crt0.c (196): mainCRTStartup
7C817067 (kernel32): (filename not available): RegisterWaitForInputIdle
######## COM-Leaks ########
————— Key: 00178CA8, 999 bytes ———
775833D5 (ole32): (filename not available): CoRevokeMallocSpy
774FD073 (ole32): (filename not available): CoTaskMemAlloc
d:\tempproj\leakfinder-rc5\main.cpp (39): DoCoMalloc
d:\tempproj\leakfinder-rc5\main.cpp (46): main
f:\sp\vctools\crt_bld\self_x86\crt\src\crt0.c (327): __tmainCRTStartup
f:\sp\vctools\crt_bld\self_x86\crt\src\crt0.c (196): mainCRTStartup
7C817067 (kernel32): (filename not available): RegisterWaitForInputIdle
‘LeakFinder_VC5.exe’: Unloaded ‘C:\WINDOWS\system32\dbghelp.dll’
The program ‘[5256] LeakFinder_VC5.exe: Native’ has exited with code 0 (0×0).
However, when run on Win64 output is as under :
######## CRT-Leaks ########
————— Key: 65, 48 bytes ———
————— Key: 66, 10 bytes ———
######## COM-Leaks ########
————— Key: 000000000024A600, 999 bytes ———
f:\sp\vctools\crt_bld\self_64_amd64\crt\src\mlock.c (349): _lock
0000000140082670 (LeakFinder_VC5): (filename not available): `dynamic atexit destructor for ‘zzz_LeakFinder”
f:\sp\vctools\crt_bld\self_64_amd64\crt\src\crt0dat.c (553): doexit
f:\sp\vctools\crt_bld\self_64_amd64\crt\src\crt0dat.c (399): exit
f:\sp\vctools\crt_bld\self_64_amd64\crt\src\crt0.c (333): __tmainCRTStartup
f:\sp\vctools\crt_bld\self_64_amd64\crt\src\crt0.c (196): mainCRTStartup
000000007735F56D (kernel32): (filename not available): BaseThreadInitThunk
0000000077593281 (ntdll): (filename not available): RtlUserThreadStart
‘LeakFinder_VC5.exe’: Unloaded ‘C:\Windows\System32\dbghelp.dll’
The thread ‘Win64 Thread’ (0×964) has exited with code 0 (0×0).
The program ‘[3400] LeakFinder_VC5.exe: Native’ has exited with code 0 (0×0).
exited with code 0 (0×0).
On debugging on Win64 I found out that ShowCallstack() in StackWalker.cpp wouldn’t get enogh frames. I am not able to figure out what could be the reason.
Could you please provide some clue and let me know if you any further information from me. Also, if you could tell why Rbp in context on Win64 is coming out as 0.
Thanks in advance,
Deepak.
September 15th, 2010 at 14:47
Can you test with the latest version RC11?
http://blog.kalmbachnet.de/files/LeakFinder_RC11.zip
I do not see a problem with this version with x64…