none
Visual Studio 하나의 솔루션 내 여러 project 디버깅 시 자동/지역/조사식 모두 이상한 값으로 보입니다. RRS feed

  • 질문

  • 하나의 솔루션 안에 여러 프로젝트를 만들고 main이 있는 프로젝트를 제외한 나머지 프로젝트는 DLL로 만들어 main과 연결하여 main이 DLL의 function을 호출하는 방식을 사용하고 있습니다.

    문제는 디버깅을 시작하여 현재 프로시저(커서)가 DLL 프로젝트의 function안에 있을 때 해당 DLL function의 local 변수나 main으로부터 받아온 매개변수 모두 자동/지역/조사식 에서 값 확인이 안되거나 쓰레기값이 들어있습니다.

    하지만 DLL 내부에서 stdout으로 console에 출력 해 보면 변수들이 값을 잘 참조하고 있는것이 확인됩니다.

    왜 DLL 프로젝트 디버깅 시 값이 이상하게 뜨고 해결하려면 어떤 방법이 있나요?

    감사합니다.

    2019년 6월 11일 화요일 오전 6:16

모든 응답

  • 안녕하세요, 디버깅을 어떻게 하셨는지가 궁금하네요. debug from the DLL project  방법처럼 DLL 프로젝트를 새로 빌드하고 calling exe명을 command에 지정해서 디버깅하셨는지요? 이 경우라면 링크에서 설명하는 것처럼 Immediate 창에서 변수 등의 내용을 확인할 수 있을 것입니다. 이 때에도 문제가 발생한다면 해당 디버깅 스텝과 변수 등 값이 확인 안되는 부분을 캡처와 함께 설명해서 올리시면 문제 파악에 도움이 될 것 같습니다.



    • 편집됨 Jng.Kim 2019년 6월 12일 수요일 오전 8:19
    2019년 6월 12일 수요일 오전 8:13
  • exe 디버깅 시작 후 프로시저가 DLL function 지점일 때 한단계씩 코드 실행 -> 'DLL function' 선택을 통해서 했습니다.

    DLL 의 Local 변수는 DLL 프로젝트의 최적화를 사용하지 않으니 해결 되었고 파라미터는 재부팅 한 후 자동으로 해결되었습니다.

    감사합니다

    2019년 6월 12일 수요일 오전 10:10