본문 바로가기

Stupid Computer/5. Linux

우분투 - gdb 디버거 대신 nemiver (GUI 한글폰트 지원 디버그)

출처 : http://mcchae.egloos.com/viewer/11088835


위 링크로 이동해서 이미지까지 같이 보시는것도 괜찮을거 같네요 


gcc가 나오고부터 아마도 제일 많이 사용한 디버거는 gdb 입니다.

지금과 같은 GUI 가 나오기 전부터 터미널에서 gdb를 이용한 디버깅을 한 기억이 있습니다.

이와 같은 gdb를 위한 GUI용 디버거가 있었으니, DDD
(왠지 해충 박멸을 위한 살충제가 생각나는...)라는 것이 있습니다.

Data Display Debugger 라는 것입니다.
그런데 이 디버거가 워낙 오래된 Xlib를 이용하다보니,
소스 상의 한글도 안 보이고, 폰트 설정도 어렵고 등등
어려운 점이 많이 있습니다.

그런데 바로, 그 대안으로 사용할 훌륭한 GUI 디버거를 발견했습니다.

Nemiver 라는 것입니다.


우분투에서의 설치는 지극히 간단합니다.

$ sudo apt-get install nemiver


약 33.7 메가 설치를 하는군요. 그놈용이라 했는데 제가 애용하는 LXDE에서도 잘 됩니다~ ^^

그 다음, 아주 간단한 k=i+j 라는 C 코드를 foo.c 라고 작성했습니다.

#include <stdio.h>

int main()
{
    int i, j, k;

    i = 1, j = 2;
    k = i + j;
    printf("%d + %d = %d\n", i,j,k);
    return 0;
}



위와 같이 -g 옵션을 주고 foo 실행파일을 만든 다음,

$ nemiver foo

와 같이 gdb나 ddd 와 똑같이 실행하면 됩니다.

그러면,


위와 같이 main의 첫 줄에 브레이킹 포인트가 걸리고 디버깅 할 수 있는데요, 전 큰 폰트가 싫거든요~?


메뉴에서 Preferences를 선택하고,


위와 같은 것을,


위와 같은 식으로 설정했습니다. (최근에는 거의 모든 OS에서 코드는 '나눔고딕코딩' 폰트로 보고 있습니다)


또한 소스와 실행파일이 다른 위치에 있다면 위와 같이 소스 폴드를 지정해서 넣을 수 있습니다.
(gdb의 -d 옵션처럼)

Next 명령은 F6 이고, Step Into는 F7 입니다.

이제 소스를 약간 수정해서 한글 출력이 되도록 해보았습니다.
(디폴트 인코딩은 ko_KR.UTF-8 입니다)


한글도 잘 됩니다.


어느분께는 도움이 되셨기를....


출처 : http://mcchae.egloos.com/viewer/11088835