当前位置:  开发笔记 > 编程语言 > 正文

通过添加'print'语句进行调试的正确名称是什么

如何解决《通过添加'print'语句进行调试的正确名称是什么》经验,为你挑选了9个好方法。

有许多方法可以进行调试,使用调试器就是其中之一,但对于谦虚,懒惰的程序员而言,简单的方法就是在代码中添加一堆打印语句.

 def foo(x):
     print 'Hey wow, we got to foo!', x

     ...

     print 'foo is returning:', bar
     return bar

这种调试方式是否有正确的名称?



1> Shog9..:

是的 - 它被称为printf()调试,以无处不在的C函数命名:

用于描述通过插入命令来完成调试工作,这些命令在程序流程的关键点输出或多或少精心选择的状态信息,观察该信息并根据该信息推断出错误.

- printf()debugging @ everything2

其他语言的本地用户毫无疑问通过可用于其编码平台的默认print/log /或trace命令来引用它,但我听说过"printf()"名称用于以其他语言引用此技术可能这是由于它的历史:虽然BASIC和FORTRAN具有基本但可维护的PRINT命令,但C通常需要更多的工作来格式化各种数据类型:到目前为止printf()(通常仍然是)最方便的方法,提供许多内置格式选项.它的堂兄,接受另一个参数,即要写入的流:这允许小心的"调试器"将诊断信息定向到(可能自身重定向到日志文件),同时保持程序输出不被破坏.fprintf()stderr

虽然现代调试软件的用户经常看不起,但printf()调试仍然证明自己是不可或缺的:用于Firefox网络浏览器的广受欢迎的FireBug工具(以及现在可用于其他浏览器的类似工具)是围绕控制台窗口构建的.网页脚本可以记录包含格式化数据的错误或诊断消息.


我发现在调试循环中间出现的问题时,printf调试特别有用.浏览日志比观看观看窗口上的内容要快得多.

2> paxos1977..:

我听说它叫做Caveman Debugging



3> Bill Karwin..:

我认为以下引用将是适当的:

"最有效的调试工具仍然需要仔细考虑,再加上明智的打印声明."

Brian Kernighan,"Unix初学者"(1979)



4> David Segond..:

我称之为追踪.



5> RWendi..:

我和我的队友称之为"Oldschool Debuging".



6> An̲̳̳drew..:

我称之为"嗨,妈妈"编程.



7> NeilDurant..:

你的裤子座位调试 :)

当你在嵌入式系统上时,当你处于最前沿时,你编写的语言还没有调试器,当你的调试器表现得很奇怪并且你想要恢复一些理智,你想要要理解多线程代码中的重入是如何工作的,....



8> Sergio Acost..:

我还从VB人群中听到了“ MessageBox调试”一词,指的是“调试”的这种“风格”。



9> Don Wakefiel..:

与探索性编程一样,我喜欢称之为探索式调试.当调试器的功能不足以检查程序中的复杂类型,或单独调用辅助函数,或者您只是不了解直接使用所述功能的错误时,就会出现这种情况.

推荐阅读
我我檬檬我我186
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有