I'm developing an application in 3D in a win 7 64bits machine, in visual C++ 2008. All runs correctly. When I check this application in a clean machine in a VMWare virtual machine with XP 32bits (hardware 3D activated) or in a machine of a friend of mine, the application fails.
The behavior of the application is different (into the clean machine) depending of the compilation (debug or release) and if I compile with MD(d) or MT(d)
My question: it is possible to debug the application into the clean machine? Exists a central log like /var/log/message but in windows? How to check what dll are in use in my dev machine, in order to compar开发者_运维百科e with the installed in the clean machine?
Thanks!!
If its on the same network you can you the remote debugger ! But you may first want to check if its not a 64bit app on a 32bit OS.
Make sure the bitness is correct and that the correct VC++ distributable is installed on the test machines.
If that doesn't help, then try this for fast debugging:
Grab the debugging toolkit from MS (http://www.microsoft.com/whdc/devtools/debugging/default.mspx)
Install it on your development machine.
Copy the installation folder to the machine you want to debug on.
Copy / Install your program to the machine, remember the *.PDB files.
Start WinDBG from the debugger folder and use the 'File->Open executable' command to start your app. WinDGB will break fast and you can debug from there.
If you want break points and such, look up the commands in the WinDBG help files.
You could try running your app under dependency walker (www.dependencywalker.com). If the problem is missing or incorrect dlls, dependency walker will show it up very quickly.
On XP you can use the built-in debugger, ntsd.exe
. it's basically like windbg lite and requires no additional install.
精彩评论