gpt4 book ai didi

debugging - 为什么在 IDE 中调试更好?

转载 作者:行者123 更新时间:2023-12-03 04:24:11 28 4
gpt4 key购买 nike

关闭。这个问题是opinion-based .它目前不接受答案。












想改善这个问题吗?更新问题,以便可以通过 editing this post 用事实和引文回答问题.

5年前关闭。



Improve this question




我从事软件开发已有二十多年,使用 C、Perl、SQL、Java、PHP、JavaScript 和最近的 Python 进行编程。我从来没有遇到过无法通过仔细思考和精心调试的问题 print声明。

我尊重很多人说我的技术很原始,在 IDE 中使用真正的调试器要好得多。然而,根据我的观察,IDE 用户使用我的石刀和熊皮似乎并没有比我更快或更成功地进行调试。我真诚地愿意学习正确的工具,只是从来没有向我展示过使用可视化调试器的显着优势。

此外,除了如何设置断点和显示变量内容的基础知识之外,我还从未阅读过展示如何使用 IDE 进行有效调试的教程或书籍。

我错过了什么?是什么让 IDE 调试工具比精心使用诊断工具更有效 print声明?

你能推荐一些资源(教程、书籍、截屏视频)来展示更精细的 IDE 调试技术吗?

甜蜜的答案!非常感谢大家抽出时间。很有启发性。我投了很多票,没有投反对票。

一些值得注意的点:

  • 调试器可以帮助我对变量、代码或运行时环境的任何其他方面进行临时检查或更改,而手动调试需要我停止、编辑和重新执行应用程序(可能需要重新编译)。
  • 调试器可以附加到正在运行的进程或使用故障转储,而对于手动调试,“重现”缺陷的“步骤”是必要的。
  • 调试器可以轻松且更具可读性的方式显示复杂的数据结构、多线程环境或完整的运行时堆栈。
  • 调试器提供了许多方法来减少执行几乎所有调试任务的时间和重复性工作。
  • 可视化调试器和控制台调试器都很有用,并且有许多共同的特性。
  • 集成到 IDE 中的可视化调试器还使您可以在单个集成开发环境中方便地访问智能编辑和 IDE 的所有其他功能(因此得名)。
  • 最佳答案

    IDE 调试器将通过代码中的跟踪消息为您提供某些功能的一些示例:

  • 查看 调用栈在任何时间点,为您提供当前堆栈帧的上下文。
  • 走进图书馆 您无法重新编译以添加跟踪(假设您可以访问调试符号)
  • 更改变量值 程序运行时
  • 编辑并继续 - 能够在运行时更改代码 并立即查看更改结果
  • 能够 watch 变量,查看它们何时发生变化
  • 能够跳过或重复部分代码 , 以查看代码将如何执行。这使您可以在进行理论更改之前对其进行测试。
  • 检查 内存内容实时
  • 确定时提醒您 异常(exception) 被抛出,即使它们由应用程序处理。
  • 条件断点 ;仅在特殊情况下停止应用程序以允许您分析堆栈和变量。
  • 查看 线程上下文 在多线程应用程序中,这很难通过跟踪实现(因为来自不同线程的跟踪将在输出中交错)。

  • 总之,打印语句(通常)是静态的,如果原始语句不够详细,则需要重新编译以获取其他信息。 IDE 消除了这个静态障碍,为您提供触手可及的动态工具包。

    当我第一次开始编码时,我不明白调试器有什么大不了的,我认为我可以通过跟踪实现任何事情(当然,那是在 unix 上,调试器是 GDB)。但是一旦您学会了如何正确使用图形调试器,您就不想再回到打印语句了。

    关于debugging - 为什么在 IDE 中调试更好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/426569/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com