我一直试图调试problem which only occurs on my machine。它不会出现在任何其他开发人员的系统上,也不会出现在我们的生产测试服务器上。我已经尝试了几乎所有我能想到的东西,没有完全擦拭我的硬盘并从头开始,或者在半夜潜入办公室与其他人交换我的电脑。
这让人想起那个名义上的问题,那么:如果没有那些激烈的措施,你在试图解决别人没有的问题时会怎样做?我愿意接受一般或具体的建议。
[不确定这是否应该是CW。]
答案 0 :(得分:3)
您是否已将调试器附加到程序中以找到确切的故障点?这就是我先做的事。
有时,第三方软件可能是导致这类问题的根本原因。像防病毒软件这样的东西会安装可能导致随机间歇性故障的低级文件系统和网络驱动程序。您可以尝试终止非基本操作系统服务和您的应用程序的所有进程。
根据您的操作系统,您可以使用不同的工具查看封底内的内容。例如。在Windows上,您可以使用Process Monitor查看它打开的注册表项,加载了哪些DLL等。您可以在您的计算机和成功计算机上运行它,并进行比较以查看是否缺少某些必需的模块。 / p>
但严重的是,使用调试器。这就是他们的目的。
答案 1 :(得分:2)
两件事:
我从显而易见的开始:你的盒子有什么不同?更多记忆? Odball PCI卡?不同的Microsoft API或Service Pack?
对于奇怪的随机软件和/或操作系统崩溃:
答案 2 :(得分:1)
在这种情况下,我会尝试检查代码并从另一个目录中彻底重建它,以确保工作目录中没有导致问题的杂项文件。
如果您正在对数据库进行工作,我还会尝试拆除数据库并重建它,可能使用来自其他开发人员计算机的转储。
检查任何外部第三方软件的版本 - 数据库版本,操作系统版本,甚至软件补丁。
查看别人机器上没有问题并进行比较的配置。
让另一位开发人员坐在你的工作站上,尝试重现问题,然后去他们的工作站试试。真实的故事 - 一位开发人员有一个他只能在他的机器上重现的错误......事实证明他在GUI中做了一些与其他人没有做过的事情略有不同(跳到按钮然后按下输入,每个人否则只需按Enter键。他从来没有想过其他人可能只是打输入提交,因为这对他来说“没有意义”。