首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >调试java-本机交互

调试java-本机交互
EN

Stack Overflow用户
提问于 2012-11-07 22:10:40
回答 1查看 906关注 0票数 1

我需要调试Java代码与某个本机dll的交互。我有一些调试.NET-本机交互在windbg + sosex中的经验。

但是,似乎没有任何windbg扩展可以向我展示Java调用堆栈。

此外,我也找不到jdk 6的任何调试版本。

我不是非常想从源代码编译jdk 6(即使我知道如何编译)。

因此,我的问题是,您将如何调试或分析Java代码与某些本机DLL的交互?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-11-08 14:26:53

我使用jdb和windbg的组合完成了这一工作。在本机调用之前和之后用jdb在java中设置bp,并在本机函数开始时使用windbg设置bp。调试器既不知道另一个调试器,也不需要调试器。您将无法获得java字节码框架和本机框架的堆栈跟踪,但这并不重要,因为您可以在本机调用之前和之后查看java堆栈。

注意: jvm (至少1.5版本)在正常情况下使用异常,在本机调试器下运行时会非常痛苦。幸运的是,EIP对于所有用户来说都是相同的,所以您可以忽略使用以下内容:.if (@eip == <addr>) {gn}

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13279144

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档