Preparing a Test Machine To Run a Debug Executable
To prepare a computer to test the debug version of an application built with Visual C++ you need to deploy debug versions of Visual C++ libraries that the application depends on. To identify what libraries have to be deployed, follow the steps outlined in Understanding Dependencies of a Visual C++ Application. Debug versions of Visual C++ library DLLs usually have names that end in "d"; for example, the debug version of the CRT DLL msvcr90.dll is named msvcr90d.dll.
Debug versions of an application are not redistributable and none of the debug versions of the various Visual C++ dynamic-link libraries (DLLs) are redistributable. Debug versions of an application and Visual C++ libraries can only be deployed to another computer internal to your development site for the sole purpose of debugging and testing your application on a computer that does not have Visual C++ 2005 installed. For more information please see, Redistributing Visual C++ Files.
There are two ways of deploying debug versions of Visual C++ libraries along with the debug version of an application:
Use Merge Modules to install a debug version of a particular Visual C++ library as shared side-by-side assemblies into the native assembly cache (WinSxS folder). An example of this deployment may be found in How to: Deploy a Setup and Deployment Project.
Visual C++ Express does not support Setup Projects.
Install a particular Visual C++ assembly as a private assembly for the application using files provide in the Program Files\Microsoft Visual Studio 8\VC\Redist\debug_nonredist\ directory. An example may be found in How to: Deploy using XCopy.
For remote debugging your application on another computer, you have to deploy debug versions of Visual C++ libraries as shared side-by-side assemblies. You may either use Setup projects or Windows Installer to install corresponding merge modules using the steps described above. After Visual C++ libraries are installed you may run a remote debugger off a network share. For more information on remote debugging, please see How to: Set Up Remote Debugging.