2008-08-27 4 views
0

내 코드 근처에서 어설 션을 치는 실행 파일 (다른 사람이 컴파일 함)을 가지고 있습니다. Visual C++ 2003에서 코드를 작업하지만이 특정 실행 파일에 대한 프로젝트 파일이 없습니다.이 코드는 다양한 도구를 만드는 데 사용됩니다. Visual C++의 디버거에서 바이너리를 실행하고 소스가 어디에 있는지 만 알 수 있습니까? 전에 GDB에서이 작업을 수행 했으므로 가능한 것이어야합니다.Visual C++ 2003에서 외부 실행 파일에 연결

답변

0

다른 답변이 없으면 Visual Studio의 실행 가능 프로세스에 연결하여 코드에 중단 점을 설정하고 프로세스를 시작할 때 원본이 없으면 소스를 요청해야합니다. 파일.

0

예, 가능합니다. 빈 프로젝트를 설정하고 원하는 .exe 파일을 디버그 대상으로 지정하면됩니다. 어떻게 정확히 기억하는지 모르겠지만, Winamp 용 플러그인을 개발할 때 디버그 타겟으로 winamp.exe을 설정했기 때문에 가능하다고 알고 있습니다.

당신은 단지 어셈블리 코드를 표시합니다 소스 파일이없는,하지만 당신은 또한 등 메모리, 레지스터,

업데이트

하는 경우를 검사 할 수 있습니다로 그 여전히 유용 할 수 있기 때문에 자신의 프로그램에서 어설 션을 디버깅하고 있다면 소스 파일에 대한 경로가 디버그 정보로 컴파일 할 때 실행 파일에 저장되므로 원본을 제대로 볼 수 있어야합니다.

2

해당 응용 프로그램의 PDB 기호가 없으면 진행중인 작업의 머리 나 꼬리를 만들기가 힘듭니다. 모든 소스 코드 정보는 누구든지 그 응용 프로그램을 만들었을 때 만들어진 PDB 파일에만있을 것이라고 생각합니다.

이것은 PDB 파일이이 응용 프로그램 용으로 작성되었다고 가정합니다. 이는 릴리스 모드 VC++ 프로젝트의 기본 구성이 아닙니다. 당신이 주장하고 있기 때문에, 이것이 디버그 구성이라고 생각합니까?

+0

답변 해 주셔서 감사합니다. 디버그 정보가 GCC와 마찬가지로 바이너리에 "내장"되어 있다고 가정합니다. –

관련 문제