![]() |
1
4
我算了一半。你需要打电话
但由于某些原因,它的头文件不包括在Windows CE SDKs中。因此,您需要手动声明它:
我问过 another question about getting the module from a code address ;理论上,可以将映射文件解析为 figure out which function (in that module) the address belongs to (谢谢ctacke的链接)。 |
![]() |
2
3
我也使用GetThreadCallStack,它工作得很好。一般来说,在调试方面,wince是最差的平台,工具也最差。msdn上所有关于doctorwatson的BS都需要成为合作伙伴或使用platform builder。那些需要在发布应用程序运行时解决崩溃源的普通开发人员呢?!在数字时代和计算机时代,这些地图文件的“酷”技巧听起来相当迟钝;这种任务完全适合计算机。 对于那些拒绝使用那些混乱的地图文件的人,我可以推荐一个可以帮助你避免这一步的工具。约翰·罗宾斯的 CrashFinder.exe 能为你做那部分。
然后,在crash finder中,你需要打开wince应用程序的exe文件,你可以查询地址,如果地址在你的应用程序中,它会显示你的函数名。通常,如果崩溃发生在winapi中的某个地方,我需要从callstack手动输入每个地址,直到找到我的应用程序中的最后一个地址。 |
![]() |
3
2
这些文章都讨论了如何在源代码中将地址转换为一行代码,可能会有帮助: |
|
DK Nagond · 在WinCE 6.0或7.0上托管Web应用程序 11 年前 |
![]() |
Xentius · 通过知道线程的ThreadName来设置线程的优先级 12 年前 |
![]() |
Werner van den Heever · 按键事件C# 12 年前 |
![]() |
Fleck · 设备驱动程序未调用Xxx_Init 12 年前 |