Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

调试程序的一些小技巧 #2

Open
374632897 opened this issue Oct 31, 2016 · 0 comments
Open

调试程序的一些小技巧 #2

374632897 opened this issue Oct 31, 2016 · 0 comments
Labels

Comments

@374632897
Copy link
Owner

374632897 commented Oct 31, 2016

写在前面

写程序的过程总难免会出bug 。 当然, 如果在一口气码完所有代码, 然后一跑的时候, 程序能够按照自己的期望执行的话, 那感觉无疑是非常爽快的。 出了bug就需要通过调试来解决bug, 然而大多数的bug都是与业务场景紧密关联的, 要真的提出来说的话, 也是相当费时费力 。 所以一直想写这么一篇总结以记录自己平时调试代码的过程的计划, 也从未真正开启过。 因为真要写的话, 需要记录的东西太多了, 而我也无处下手。代码的调试相对于写代码而言, 也是显得无比重要, 如果在出了bug的时候能够快速地找到bug的话, 它将会节约你大量的时间来做其他的事情。 作为一名前端, 很荣幸有chrome dev tools这样强大的工具来对代码进行调试。 在我看来, 对前端而言, 除了要有非常好的基础外, 对chrome dev tools非常熟悉, 也是必须的事情。

一些链接

console

  • console.trace()
    console.trace()能够打印出当前函数的调用栈, 这在很多情况下都有很大的帮助,尤其是在你不明白一段代码为什么执行的时候。

明确bug复现的场景

首先你需要知道bug是怎样复现, 在什么样的场景下能够复现, 只有明确了复现的场景, 才能够避免自己像一只无头苍蝇一般去看一些无关紧要的代码。

善用diff

如果在修改一个功能或者一段代码之后, 出了新的bug, 或者说系统直接就崩溃了的话, 那么通过diff来查看自己到底修改了那些内容, 是找出Bug的一个不错的方式。

timeline

由于timeline可以显示调用栈, 并且能够精准定位, 所以, 当执行某些操作就能够复现bug的时候, 使用这种方式能够快速地定位bug .

二分法 + 代码注释大法

@374632897 374632897 added the Tips label Nov 15, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant