Debugging 堆栈调用超出了代码段?

Debugging 堆栈调用超出了代码段?,debugging,windbg,visual-studio-debugging,crash-reports,crash-dumps,Debugging,Windbg,Visual Studio Debugging,Crash Reports,Crash Dumps,我收到用户在Windows 10 PC上的崩溃转储。Visual Studio 2015向我显示了以下堆栈: comctl32.dll!`DuiTelemetry::Instance(void)'::`2'::`dynamic atexit destructor for 'wrapper''(void) Unknown comctl32.dll!CLVDrawItemManager::ComputeTextWidth(int,int,int,struct LVFAKEDRAW

我收到用户在Windows 10 PC上的崩溃转储。Visual Studio 2015向我显示了以下堆栈:

    comctl32.dll!`DuiTelemetry::Instance(void)'::`2'::`dynamic atexit destructor for 'wrapper''(void)   Unknown
    comctl32.dll!CLVDrawItemManager::ComputeTextWidth(int,int,int,struct LVFAKEDRAW *,struct tagLVITEMW *,unsigned short *,int) Unknown
    app.exe!006e0065()  C++
    app.exe!00730075()  Unknown
    user32.dll!_NtUserMessageCall@28()  Unknown
    user32.dll!RealDefWindowProcWorker()    Unknown
    user32.dll!DefWindowProcW() Unknown
    user32.dll!__InternalCallWinProc@20()   Unknown
    user32.dll!UserCallWinProcCheckWow()    Unknown
    user32.dll!CallWindowProcW()    Unknown
    mfc120u.dll!CWnd::DefWindowProcW(unsigned int nMsg, unsigned int wParam, long lParam) Line 1116 C++
    mfc120u.dll!CWnd::WindowProc(unsigned int message, unsigned int wParam, long lParam) Line 2095  C++
    mfc120u.dll!AfxCallWndProc(CWnd * pWnd, HWND__ * hWnd, unsigned int nMsg, unsigned int wParam, long lParam) Line 285    C++
    mfc120u.dll!AfxWndProc(HWND__ * hWnd, unsigned int nMsg, unsigned int wParam, long lParam) Line 434 C++
已加载my app.exe的符号。但堆栈仍然只显示函数的地址,而不显示它们的名称。为什么?

添加#1:

我已经完成了magicandre1981提供的步骤。符号被加载。 这是托马斯·韦勒要求的证据:

0:000> lm m app
start    end        module name
002e0000 00872000   app      # (private pdb symbols)  c:\work\source\app\branch\app3\bin\release.1627\app.pdb
堆栈现在更疯狂了:

0018cc74 7328d822 0018cf04 03652948 73274560 comctl32!`DuiTelemetry::Instance'::`2'::`dynamic atexit destructor for 'wrapper''+0x89f
0018cec4 006e0065 00200074 006f004e 00650074 comctl32!CLVDrawItemManager::ComputeTextWidth+0x7d
0018ceec 00730075 00610075 006c006c 00200079 app!_CT??_R0?AVlogic_errorstd+0xd095
0018cf90 00650074 006e0072 00740065 00410020 app!ssl3_ciphers+0x7a5
0018cf94 006e0072 00740065 00410020 00630072 app!AfxWinMain+0x43e9e
0018d094 00650074 002e0073 004e0020 0074006f app!_CT??_R0?AVlogic_errorstd+0xd0a2
0018d134 00650074 0074006e 002e0073 00000000 app!AfxWinMain+0x43e9e
0018d158 77a2897c 77a04d98 000103fe 00000020 app!AfxWinMain+0x43e9e
0018d15c 77a04d98 000103fe 00000020 00010414 user32!NtUserMessageCall+0xc
0018d258 77a04bbe 014ffb60 00000000 0018d74c user32!RealDefWindowProcWorker+0x148
0018d2a8 77a284f3 00010412 0000004e 00056789 user32!DefWindowProcW+0x11e
0018d2d4 77a06c40 4b8bd2be 00010412 0018d37c user32!_InternalCallWinProc+0x2b
0018d37c 77a069d7 77d0ab50 00000000 0000004e user32!UserCallWinProcCheckWow+0x1f0
0018d3b8 712299aa 77d0ab50 00010412 0000004e user32!CallWindowProcW+0x97
0018d3d8 7122a918 0000004e 00056789 0018d74c mfc120u!CWnd::DefWindowProcW+0x46
0018d3f4 71228f33 0000004e 712482d1 71228f86 mfc120u!CWnd::WindowProc+0x39
0018d464 71229155 03669d50 00010412 0000004e mfc120u!AfxCallWndProc+0x99
71228f86 efefdee8 fff08bff 2a1b4415 68468971 mfc120u!AfxWndProc+0x34

ssl3_密码根本不是一个函数。它是OpenSSL库中定义的数组。

我相信堆栈不知道函数名,只知道函数的返回地址。Gertjan,你为什么决定浪费我的时间?:)我知道没有。这就是为什么需要模块的符号来显示函数的名称。在windbg中加载dmp,指向MS symbol服务器和您的专用PDB,运行!sym嘈杂;。重新加载/f/v并查看符号是否已加载,以及应用程序的符号文件是否已加载运行!analyze-v.Random think:您确定为用户正在运行的应用程序的特定构建加载了正确的符号吗?(例如,如果用户正在运行发布版本,则从调试版本加载符号不会有帮助。)是的,请提供证据证明符号加载正确,例如通过
lm m app
我相信堆栈不知道您的函数名,只知道函数的返回地址。Gertjan,你为什么决定浪费我的时间?:)我知道没有。这就是为什么需要模块的符号来显示函数的名称。在windbg中加载dmp,指向MS symbol服务器和您的专用PDB,运行!sym嘈杂;。重新加载/f/v并查看符号是否已加载,以及应用程序的符号文件是否已加载运行!analyze-v.Random think:您确定为用户正在运行的应用程序的特定构建加载了正确的符号吗?(例如,如果用户正在运行发布版本,则从调试版本加载符号不会有帮助。)是的,请提供证据证明符号已正确加载,例如通过
lm m app