【问题标题】:Debugging C++ Native Windows Phone 8 app调试 C++ 本机 Windows Phone 8 应用程序
【发布时间】:2013-10-29 20:23:46
【问题描述】:

我想弄清楚如何到达我的应用程序的0x0001556c 偏移量。这是apphub中出现的错误:

"Frame    Image                            Function               Offset        
0        kernelbase                       RaiseException         0x00000036    
1        msvcr110                         _CxxThrowException     0x0000005a    
2        windowsphone8program                                    0x0001556c"

一个 C++ 异常被抛出,但我需要看看它周围的程序集是什么样子才能弄清楚抛出了什么异常

windowsphone8program 是一个 dll 文件,我如何才能导航到 0x0001556c 偏移量?我可以使用哪些工具?

我尝试在我的代码中找到 0x0001556c,但在 Visual Studio 中它只是 ?? ??

这个错误可以调试吗?

【问题讨论】:

  • 你需要知道windowsphone8program被加载的基地址。
  • @dauphic 调试中未提供此信息。

标签: c++ debugging exception c++11 exception-handling


【解决方案1】:

我不确定是否有任何工具可以帮助您,但我可能是错的。

我认为您最好的选择是创建一个加载 DLL 的示例应用程序。加载完成后,获取加载地址,将地址偏移0x0001556C,并使用dbghelp(特别是SymFromAddr)提供的函数获取与地址匹配的符号。

您可以通过进入调试器并检查您的“模块”窗口来检索 DLL 的基地址,或者使用您的 DLL 的名称调用 GetModuleHandle 并将返回值视为基地址。

【讨论】:

  • 谢谢,帮了大忙。我按照你的建议打开了模块窗口,发现基地址是6BE60000。然后我添加了偏移量(0x0001556C)并到达6BE75558 bl luabridge::LuaException::LuaException (6BE75E8Ch),这是 LuaBridge lua 异常谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-11-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多