Preparing a Test Machine To Run a Debug Executable
To prepare a computer to test the debug version of an application that is built with Visual C++, you have to deploy debug versions of the Visual C++ library DLLs that the application depends on. To identify which DLLs have to be deployed, follow the steps in Understanding Dependencies of a Visual C++ Application. Typically, debug versions of Visual C++ library DLLs have names that end in "d"; for example, the debug version of msvcr100.dll is named msvcr100d.dll.
Debug versions of an application are not redistributable, and debug versions of the Visual C++ library DLLs are not redistributable. You may deploy debug versions of applications and Visual C++ DLLs only to your other computers, for the sole purpose of debugging and testing the applications on a computer that does not have Visual Studio installed. For more information, see Redistributing Visual C++ Files.
There are three ways to deploy debug versions of Visual C++ library DLLs together with the debug version of an application.
Use Merge Modules to install a debug version of a particular Visual C++ DLL to the %windir%\system32\ directory. An example of this deployment may be found in Walkthrough: Deploying a Visual C++ Application By Using a Setup Project.
Install a particular Visual C++ DLL for the application by using files that are provided in the \Program Files\Microsoft Visual Studio <version>\VC\Redist\debug_nonredist\ directory.
For remote debugging of your application on another computer, you have to deploy debug versions of Visual C++ library DLLs as shared side-by-side assemblies. You can use either a Setup project or Windows Installer to install corresponding merge modules. After Visual C++ DLLs are installed, you can run a remote debugger on a network share. For more information about remote debugging, see How to: Set Up Remote Debugging.
Use Deploy to copy the project output and other files to the remote computer. An example of this deployment may be found in Remote Debugging of a Project Built Locally.