2009-08-27 5 views
2

현재 labview에서 DLL을 호출하고 있지만 실시간으로 디버깅 할 수 있어야합니다 (시간에 민감한 하드웨어에 액세스하고 있기 때문에). printf() 내 오류 메시지를 주장하고 싶습니다만 오류 정보를 덤프 할 DLL 내에서 DOS 창을 여는 방법을 잘 모릅니다. 누구든지 전에 이것을 했습니까? 파일로이 작업을 수행 할 수 있다는 것을 알고 있으며,해야 할 수도 있습니다. printf는 이렇게 간단하고 빠르고 더러운 방법입니다 :).DLL에서 DOS 창을 열고 디버그 메시지를 내 보냅니다.

+0

동적 라이브러리에 대해 .dll (어쩌면 OS2?)을 사용하는 다른 운영 체제에 대해서는 알지 못하지만이 점을 잊어 버렸습니다. 또한 DLL은 Visual Studio 2008로 컴파일됩니다. – dude

답변

5

1) windows api AllocConsole으로 전화하십시오.

2) stdout/stderr을 얻으려면 아마도 GetStdHandle으로 전화해야합니다.

3) Printf를 마음에 담아보세요!

+0

감사합니다! 나는 오늘 밤 이것을 시험해 볼 것이다! – dude

4

printf() 대신 Windows의 OutputDebugString() 함수를 사용하고 디버그 출력을 DebugView에서 확인할 수 있습니다.

+1

+1 (더 일찍), 그리고 당신은 또한 어떤 다른 앱이 엉성한 지 알게 될 것입니다. 릴리즈 버전에서'OutputDebugString'에 대한 호출을 남겨 둡니다 ... – eran

+0

이것은 qDebug를 사용하는 Qt 어플리케이션에도 유용합니다 – RDP

관련 문제