我有一个我编写的C ++程序,特别是在一台机器上表现不同。我怀疑该机器存在硬件问题。我即将开始使用可用于测试不同硬件组件的不同测试程序(如memtest),但是有没有好的工具或程序可以针对潜在和存在的问题对所有PC硬件进行全面测试?
答案 0 :(得分:2)
使用Internet Explorer,您可以尝试运行PC Pitstop基准和PCMark05 Performance Analysis。
答案 1 :(得分:1)
除非您使用API或依赖已安装的组件,否则不太可能出现硬件或配置问题,特别是如果其他PC在运行其他程序时没有出现任何问题。
这些问题通常是由未初始化的变量或访问无效数据引起的(例如,访问数组时)。在这些情况下,程序使用的值是随机的,可能因机器而异。
您可以尝试的一件事是在两台计算机上运行程序的调试版本。在Visual C++下,这会导致所有已分配的内存初始化为已知值,旨在帮助您跟踪未初始化的数据。
如果您正在使用线程,则由于硬件/进程导致的时序差异,您可能还会遇到仅在第二台计算机上出现的线程问题。
答案 2 :(得分:1)
根据我的经验,硬件问题极不可能在单个应用程序中显示(高端游戏和视频卡或过热问题除外)。
更有可能两台机器之间存在一些不同的配置。您可以使用“diff”工具对此进行测试。
在Windows计算机上WinMerg是比较配置的好方法。您甚至可以使用CIFS路径来比较计算机。例如\\ server1 \ c $ \ myapp \ config和\\ server2 \ c $ \ myapp \ config