如何使用力扣「调试器」功能?

力扣支持团队发表于:2024年03月28日 下午 3:53:41更新于:2024年04月02日 晚上 7:05:31

作为「力扣 Plus 」会员中的经典功能,「调试器」是简单易用的代码调试工具,随时检查代码运行情况。支持无限制添加断点,单步运行调试帮您轻松定位错误代码。


如何使用?

  1. 在进入题目后,在编辑器中编写您的代码;

  2. 代码编写完成后,在您想要开始执行的位置点击行号,添加断点。

  3. 完成「添加断点」后,即可点击题目上方的「调试器」按钮来调试当前代码;

  4. 左侧调试器中,您可以查看当前函数或代码块中的所有本地变量及其值;

  5. 左侧「监听表达式」栏输入您需要监听的变量或表达式, 并按下回车执行过程中观察其值的变化;

  6. 「输入」指您在执行程序时提供给程序的输入数据即开始调试时激活的那条测试用例

  7. 「标准输出」是指程序执行过程中产生的输出,通常通过输出语句(如 print())打印到控制台。

  8. 可以在题目上方或使用快捷键选择您想要 Debugger Operation :

  • 继续(Continue):继续执行程序,直到下一个断点或程序结束。当您想跳过当前断点并继续执行程序时,可以选择此选项。

  • 单步调试(Step Into):逐步执行程序,如果当前行是函数调用,则进入该函数并暂停执行。如果当前行不是函数调用,则执行当前行并暂停。此选项适用于逐步跟踪代码执行过程,特别是在函数调用时。

  • 单步跳出(Step Out):执行完当前函数并跳出到调用该函数的上一级函数,然后暂停。当您在某个函数内部调试完成后,想要跳出到该函数的调用位置时,可以选择此选项。

  • 单步跳过(Step Over):执行当前行,并且如果当前行是函数调用,则不会进入函数内部,而是直接执行完整个函数并暂停。此选项适用于您想单步执行当前行,但不想进入函数内部的情况。

点击「结束调试」或按下快捷键「Esc」即可结束调试。


注意事项

  1. 目前力扣调试器现在已经支持多种主流编程语言:「C++、Java、Python、Python 3、C、Go」,并且会在未来的产品版本中不断努力优化和完善调试器相关功能。

  2. 在C语言中,数组名nums本身就是一个指向数组第一个元素的指针,因此nums[i]表示的是第i个元素的值。但是在GDB中,它会按照C语言的规则,将nums[i]解释为取第i个元素的地址,而不是取其值。通过使用*(&nums[i]),你实际上告诉GDB去取第i个元素的地址,然后再取这个地址上的值,这样才能得到正确的结果。

  3. 在使用「调试器」的过程中如果出现问题,我们建议您可以按照以下步骤尝试操作:

  • 使用出现问题浏览器的无痕模式(排除插件、LS、缓存问题)

  • 使用其他浏览器(排除浏览器问题)

  • 使用其他网络,例如:个人热点(排除网络问题)

如必现该问题,烦请 点击这里 提供下使用的浏览器和操作系统版本,并提供重现问题的完整页面录屏,以便工程师定位问题,谢谢。