Visual Studio 2005上的CaptureStackBackTrace

时间:2008-10-17 09:51:00

标签: visual-studio debugging

我最近通过阅读CaptureStackBackTrace了解了this post功能。我无法在任何Visual Studio 2005头文件中找到它,我猜测(从MSDN URL提到VS.85)这可能只是Visual Studio 2008的事情。

有没有办法,可能是通过在某个地方手动查找系统DLL中的入口点,在Visual Studio 2005下获取此功能?

3 个答案:

答案 0 :(得分:3)

  

说明

     

CaptureStackBackTrace函数是   定义为   RtlCaptureStackBackTrace函数。对于   更多信息,请参阅Winbase.h和   WINNT.H。

答案 1 :(得分:3)

除了Visual Studio 2005附带的内容之外,我还没有更新我的Windows SDK,但我发现这个解决方案有效:

typedef USHORT (WINAPI *CaptureStackBackTraceType)(__in ULONG, __in ULONG, __out PVOID*, __out_opt PULONG);
CaptureStackBackTraceType func = (CaptureStackBackTraceType)(GetProcAddress(LoadLibrary("kernel32.dll"), "RtlCaptureStackBackTrace"));
// Then use 'func' as if it were CaptureStackBackTrace

答案 2 :(得分:1)

您是否将Windows SDK更新到最新版本?由于这是一个Windows API函数,因此应该包含在那里。