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