作为Linux / Unix用户,我们经常遇到问题。经过长时间的问题解决,我们发展了调试技能。
现在,尝试调试一般的unix问题时有哪些好的原则,方法或最佳实践?
作为普通用户,我应该拥有哪些工具来使发现问题的原因更加容易?
作为Linux / Unix用户,我们经常遇到问题。经过长时间的问题解决,我们发展了调试技能。
现在,尝试调试一般的unix问题时有哪些好的原则,方法或最佳实践?
作为普通用户,我应该拥有哪些工具来使发现问题的原因更加容易?
Answers:
方法将取决于问题的种类。
通常,Eric S. Raymond和Rick Moen撰写的“ 如何聪明地问问题 ”有时是一个有用的建议,可以专注于问题并检查您是否考虑过问题的重要部分。
调试期间的第一个信息来源是系统/应用程序写入的日志文件。它们的常见位置是您的终端或中的文件/var/log/
。许多应用程序支持不同类型的日志级别,如果找不到任何可用消息,则应增加日志级别。通常会有-v
冗长的开关来获取更多消息。
还是没用?检查您的配置文件,应用程序所需文件的权限,例如,也许您必须更改systemlogger的配置/etc/syslog-ng.conf
。
如果您收到错误消息,谷歌搜索通常会导致留言板条目或Usenet帖子讨论其背后的问题。您很可能可以在那里找到解决方案。项目用户的邮件列表,留言板和IRC频道也非常有帮助。
有时应用程序崩溃而没有任何消息。除了读取和修改代码外,发现应用程序流程的一个很好的工具是strace
。
该工具将跟踪系统调用和信号。当应用程序捕获错误时,您仍然可以在systrace中发现问题。
另一种方法是使用调试应用程序gdb
。您应该是高级用户,并且知道该怎么做才能使用它。
我认为David Agans写了一本非常不错的有关调试的书。它还包含一组调试准则。
最重要的是,一般(领域)知识和经验对查看模式有很大帮助。研究事物的构建方式,将它们分解。执行例行维护。设置晦涩的实验。阅读,阅读,阅读。做东西。不断写作。帮助其他人解决他们的问题。选择你的战斗。保持冷静。微笑。:)