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/

4 Responses to “StackWalker moved to CodePlex”

  1. frank28_nfls Says:

    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~

  2. Alexander Says:

    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

  3. Deepak Says:

    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.

  4. jkalmbach Says:

    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…

Leave a Reply