[英]Debugging C++ Native Windows Phone 8 app
I am trying to figure out how to get to 0x0001556c
offset of my application. 我试图弄清楚如何获取我的应用程序的
0x0001556c
偏移量。 This is the error that came in apphub: 这是apphub中出现的错误:
"Frame Image Function Offset
0 kernelbase RaiseException 0x00000036
1 msvcr110 _CxxThrowException 0x0000005a
2 windowsphone8program 0x0001556c"
A C++ exception is being thrown, but I need to see what the assembly looks like around it to figure out what exception is thrown 抛出了C ++异常,但是我需要查看程序集周围的样子,以找出抛出了什么异常
The windowsphone8program
is a dll file, how would I be able to navigate to the 0x0001556c
offset? windowsphone8program
是一个dll文件,如何导航到0x0001556c
偏移量? What tools can I use? 我可以使用哪些工具?
I've tried locating 0x0001556c
in my code but it's just ?? ??
我试过定位
0x0001556c
在我的代码,但它只是?? ??
?? ??
in Visual Studio. 在Visual Studio中。
Is it possible to debug this error? 是否可以调试此错误?
I'm not sure that there are any tools that will help you here, but I could be wrong. 我不确定是否有任何工具可以帮助您,但是我可能是错的。
I think your best choice is to create a sample application that loads your DLL. 我认为最好的选择是创建一个加载DLL的示例应用程序。 Once it's loaded, acquire the address it was loaded at, offset the address by
0x0001556C
, and use the functions provided by dbghelp (particularly SymFromAddr ) to get the symbol matching the address. 加载后,获取其加载地址,将地址偏移
0x0001556C
,然后使用dbghelp提供的功能(尤其是SymFromAddr )来获取与该地址匹配的符号。
You can retrieve the base address of the DLL either by breaking into the debugger and checking your Modules window, or by calling GetModuleHandle
with your DLL's name and treating the return value as the base address. 您可以通过进入调试器并检查“模块”窗口,或通过使用DLL的名称调用
GetModuleHandle
并将返回值视为基地址来检索DLL的基地址。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.