아무도 아직 답변을 안했는지 궁금합니다.
QtCreator. 그 이름으로 혼동하지 마라. QtCreator는 어떤 종류의 C++ 코드와도 잘 작동한다. Qt를 사용하기 위해 코딩 할 필요가 없다. FOSS Visual Studio와 같습니다. "on fly"구문 확인 기능도 있습니다.
MinGW. 여기에 그다지 말할 게 없지만 Win PE 실행 파일이 만들어지고 작동합니다. 리포지토리에서 사용할 수 있습니다. Win GUI 응용 프로그램에는 PE 헤더 세트에 특별한 비트가 있습니다. 그래서 MinGW로 GUI 응용 프로그램을 만들려면이 비트를 설정하기 위해 -mwindows
옵션을 전달해야합니다.
이것은 문제입니다. 정말로 : 저는 단지 윈도우 애플리케이션을 디버깅하려하고 있습니다. 아직 방법을 찾지 못했습니다.
winedbg을 : 나는 곧 내 갈퀴 밟지하는 난 그냥 순서대로, 지금까지 시도 여기에서 기억됩니다. 아마 그것은 작동해야하지만 나에게는 그렇지 않았다. 중단 점을 설정할 때 (예 : br 43
) Unable to add breakpoint (unknown address 7b860807)
이라고 표시됩니다.
winedbg. 그래, 다시.하지만 이번에는 gdb
에 명령을 프록 싱하도록하기 위해 이것을 winedbg --gbd
과 같이 사용할 것입니다. 아마도 이것은 응용 프로그램을 디버깅하는 유일한 방법 일 수 있지만 단점이 있습니다. 첫째, 응용 프로그램을 다시 시작하려면 디버거를 종료해야합니다. run
을 입력하면 원격 대상이이를 지원하지 않는다고 표시됩니다. 둘째, 멀티 스레드 응용 프로그램을 디버깅하는 방법조차 모릅니다. 처음 시작했을 때 오류 Non-stop mode requested, but remote does not support non-stop
이 발생하여 중단 점을 설정하고 시작한 후 다음과 같이 표시됩니다. Cannot insert breakpoint 1.
및 Cannot access memory at address 0x401654
.따라서이 작업을하려면 내 .gdbinit
파일 의 이름을 바꿔야합니다 (즉, 논스톱 모드가 설정되어 있음).
gdb.exe. 나는 방법을 찾았다는 것을 확신했다 : windows 버전의 간단한 사용 gdb
는 문제를 해결해야한다; 이상, 나를 위해, 이맥스 녀석으로서, 그것은 절대적으로 네이티브 gdb로 디버깅과 동일합니다. 그러나 슬프게도 창문 gdb가 작동하지 않습니다. 명령을 실행하고 명령을 입력하면 아무 것도 수행하지 않습니다. Ctrl-c 및 Ctrl-z 명령에 대해서만 반응합니다. 아마 여유 시간에 메일 링리스트에서 질문을하려고 노력할 것입니다. 자, 이제 우리는
그래서 우리가 디버그와 함께 할 한 ... 사용할 수없는 이유는 무엇입니까? 대부분
WINE에서 작동하는 다른 Windows 디버거를 찾아야합니다. OllyDbg가 올바르게 작동했음을 기억하지만 현재 소스 코드를 표시하는 방법을 모르겠습니다.
+1 for QtCreator. 그것은 GCC 툴 체인에서 잘 작동합니다. – yasouser
나는 아직 포스트를 업데이트하지 않고, 정보를 주석으로 남겨 둔다. 제대로 실행되도록'gdb.exe'를 와인과 함께 실행하는 방법을 발견했다.'wineconsole --backend = curses gdb.exe'처럼 보일 것입니다. . –
그냥'gdb.exe '를 emacs에서 시험해 보았는데 쓸모가 없다. ( –