我知道在Perl调试器perl -d
中,我可以将代码片段$DB::single=1
放在源代码的任何地方,以便调试器可以停在那里。
真的很方便。
我想知道是否有等效的片段,当我使用bashdb
,所以我可以把它放在一个bash文件?
根据问题的评论(感谢每个评论的人)和官方文档,我找到了两种方法:
- 在您希望停止的行之前添加
kill -INT $$; :
在bash脚本中,然后使用bashdb your-script.sh
开始调试,调试器可以停止,但显示它在第一行停止。你可以输入n
和enter,然后你的调试器可以停在正确的行。
- 在脚本开头添加
source /usr/local/share/bashdb/bashdb-trace
(路径可能不同),然后在希望停止的行之前添加_Dbg_debugger
。使用bash your-script.sh
启动调试,调试器可以在您的目标行正确停止。我推荐使用这种方法,因为它与$DB::single=1
最相似。