1

有人可以给我一个关于如何在 Symbian 中获取堆栈跟踪的提示。我遇到了 KERN-EXEC 0 恐慌,但无法找到它的来源。我已经看到了其他关于这个的 SO 问题,比如this,但是只有一个关于如何在模拟器上解决这个问题的描述。但我的程序处理 Wi-Fi 并且必须在设备上运行。也许有某种方法可以跟踪堆栈或在恐慌中中断?

4

3 回答 3

1

KERN-EXEC 0 表示您使用了错误的句柄,因此请检查您的所有 RClass。

您无法在生产设备上调试系统崩溃。如果您可以为您的设备构建自定义 ROM,那么您可以包含内核扩展“exmondebug.dll”和“exmoncommon.dll”,现在当设备崩溃时,它会将您放入调试监视器。从这里您可以输入密码“replacement”转储所有系统堆栈等。(输入帮助信息)。

如果您无法访问开发人员硬件,您可以使用Syborg baseport在 QEMU 上运行自定义 Symbian^2 和 Symbian^3 ROM 映像,我认为它不支持 wifi,但有一个以太网驱动程序。

于 2010-09-08T15:53:58.617 回答
1

我有同样的问题,操作系统没有给你任何帮助。

我所做的,它解决了我的问题并且实际上有很大帮助,它提出了你自己的手动堆栈跟踪实现。在此处查看我的部分版本(恰好是您链接到的同一个问题)。

我的回答有很多优点和缺点。

  • 亲 - 你会得到一个很好的堆栈跟踪,这对调试有很大帮助。
  • Con - 需要执行和维护大量手动工作。
  • 缺点 - 可能会导致性能下降(我设置了我的,所以它只为调试版本编译)。
于 2010-09-08T23:19:47.130 回答
0

你的日志没有给你提示吗?在崩溃的地方添加更多日志或注释掉一些块以查看崩溃是否发生在其中。

于 2010-09-09T08:04:19.380 回答