我对JDB有点困惑。我非常擅长使用GDB,我知道用于控制执行的各种简单命令,例如开始,运行,继续,步进,Stepi,Break等。但是(我认为)存在许多不同寻常的区别。
如果我想启动一个应用程序(而不是运行它,那么我可以从头开始),我本能地输入jdb MyApp
,然后输入start
。我收到无法识别的命令错误。阅读JDB帮助不会给我任何有关启动命令或其等效命令的提示。因此,我尝试step
-也不起作用;有人告诉我我需要使用run
命令启动Java VM!
显然,这是必须可行的,因为帮助中说明了step
命令。因此,我认为也许可以键入run
并很快按ctrl+c
来中断它,因为在GDB中,这会停止执行。相反,它只是退出JDB。
我尝试使用谷歌搜索,但无济于事。我希望我不会完全失明!
反复思考:您到底如何开始在JDB中运行Java应用程序,以便从一开始就可以逐步执行它?
最佳答案
问题在于虚拟机尚未启动,这就是为什么您无法进入第一行的原因。解决方案是使用“-launch”作为命令行参数来启动JDB。从那里您可以键入“step”或“cont”以从头开始调试。
最好的一点是,它只需要一秒钟,并且不需要安装IDE :-)
关于java - 等价于JDB中的GDB“启动”?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5451920/