'Linux'에 해당되는 글 94건

  1. 2010.09.23 [버그] glade 이미지 파일 경로 설정
  2. 2010.09.21 weechat launcher perl 스크립트 작동시키기 (4)
  3. 2010.09.11 터미널에서는 GDB가 아니라 CGDB를 씁시다. (4)
  4. 2010.09.08 gdb에서 core dump 디버깅 (2)
  5. 2010.08.18 gdb 에서 thread 생성/종료 메세지 안나오게 하기 (2)

[버그] glade 이미지 파일 경로 설정

glade ver 3.6.7에서

리소스 파일을 수정할때

"패스명을 정확하게 수동" 으로 넣어야한다.

(옆에 폴더 아이콘 눌러서 지정해줘도, *.glade파일이 있는 경로랑 같지 않으면 비록 glade 내부에서는

그림이 잘 나오지만, 실제로 프로그램을 실행시키면 다 액박으로 뜬다)

그러니깐 Play_icon.png 라는 파일이 glade파일이 있는 하위홀더 icons에 있다면,

직접 icon/Play_icon.png라고 써놓아야한다.

(시실뭐... 나 같은 경우에는 그냥 직접 xml파일에다가 경로를 썼음)

(원래 스크린샷을 찍을렸는데 display가 갈궈서 자꾸 검은 화면만 나오기 때문에 패스)
Trackback 0 Comment 0

weechat launcher perl 스크립트 작동시키기

plugins.conf 파일에 다음을 추가하면 된다.

# plugins.conf -- WeeChat v0.3.3
#

[var]
perl.launcher.signal.weechat_highlight = "aplay ~/.weechat/sounds/beep_1.wav"

(아니면 /set 명령어로 직접 길게 쭉 쳐주는 방법도 있는데 그거보단 이게 편하니)

소리 재생 프로그램, 재생 파일의 경로는 알아서 각각 설정하면 된다.

몇달전부터 계속 소리가 안나는거 쓰고 있었는데... 도저히 참고 참고 참다가 안되서 그냥 고쳐버렸다.

이래서 귀차니즘은 무서운것이....

weechat의 내부 설정이 어떻게 바뀌었는지......

아니면 plugin.conf파일이 초기화 되어서 내용이 날라갔는지는 모르겠는데... 여튼 위와 같이 추가하면 된다.

-------------------------------------------------------------------------------------------------------------------------------------------

아. weechat프로세스를 다 끄고 난다음에 설정파일을 수정해야한다.

이상하게 weechat은 프로그램 종료시에 설정내용을 설정파일에 rewrite하는거 같다...

왜 이렇게 만들었는지는 모르겠지만 암튼 설정파일 건드릴때 마다 귀찮다. 쩝... 주의하자.

ps; 이제 IRC에서 불러도 제대로 응답(?) 할겁니다 ㅋ
Trackback 0 Comment 4
  1. Favicon of https://khmirage.tistory.com BlogIcon 환상경 2010.09.21 13:24 신고 address edit & del reply

    p....perl까지 하시다니!!!!!

    • lowid 2010.09.24 12:03 address edit & del

      그냥 weechat 플긴이 perl일 뿐이에용..
      전 단지 설정파일만 좀 건들였을뿐...~

  2. Favicon of https://zeper.tistory.com BlogIcon zeper 2010.09.26 17:17 신고 address edit & del reply

    저두 적용해봐야겠습니다.
    제 닉이 불리는 일이거의 없긴하지만 소리가 나면 바로 확인할수 있으니 말이죠

    • lowid 2010.10.01 00:34 address edit & del

      넵...
      (사실 이 포스팅.. zeper님 보라구 적은 포스팅인데여~! 당연히 그려셔야..)

터미널에서는 GDB가 아니라 CGDB를 씁시다.

오늘 말입니다... 갑자기 GDB로 소스 디버깅(기존소스 분석.........)을 하고 않았더니

GDB에도 색을 넣고 싶었지 말입니다?

그래서 구글링 하다 보니깐 찿았어여? cgdb......

사용자 삽입 이미지

1 gdb 보다 더 괜찮은 놈이 있네.....

cgdb.. 얘도 분명 전에 알았던건데..... 오늘보니깐 또 새롭군여

아치에서는 기본패키지로는 없어서 (......) AUR에서 받아서 컴파일함, 시간은 얼마 안걸리네요....

이젠 소스코드보러 Shift눌러서 Screen변환 (그러고 보니 screen사용한지 벌써 4년이 다되가는군여 아아)

할필요도 없이 바로 소스 나오니깐 편해요... (vim이랑 gdb랑 왔다갔다할 필요가 없다는 말이죠.)

윗창(vim짝퉁), 아랫창(레알(?) GDB) 이 있어서 소스보면서 코딩하니깐 확 눈에 잘 들어오네요.

(왜 vim 짝퉁이냐면.... 어지간한 기능은 제대로 동작하는데... 일부기능은 동작을 안해서 -_- )

메녈페이지 읽기 귀차느신분을 위해서 기초적인 내용은 제가 간단 요약했습니다.

뭐 이정도만 알아도 대충 쓰는덴 지장 없으실거에요.

1 윗창(vim), 아랫창(gdb) 간 서로 이동하려면, i <-> ESC키 를 서로 사용하시면 됩니다.

2 윗창(vim)에서 기본키들은 거의 vim이랑 같습니다,

(hjkl 같은 이동키도 당근 같구여,검색할때 사용하는 /.?  도 페이지 이동 ctrl+f, ctrl+b, n, N 도 마찬가지죠)

3 아랫창(GDB)는 기존 GDB랑 거의 유사합니다... 오히려 일부기능은 더 보기 편하게 만들어 놨더군요.

4 break pointer를 break, clear 하는 방법은 (윗창,  vim 에서) space키를 누르면 토글 됩니다

5 소스 파일을 이동하려면 (윗창에서)  o키를 누르시면 됩니다.

그럼 현제 디렉토리에 있는 파일들 리스트가 쭈욱~ 출력되구요, 선택하시면 되겠죠

6 물론 종료하는건 ( vim 창에서) :q해서 빠져나가거나, gdb창에서 q해서 빠져나가시면 됩니다.


메녈페이지는 다음 링크보면 나와염... 더 자세한 내용을 보시려면 다음링크를 방문해 보세요

http://cgdb.sourceforge.net/docs/cgdb-no-split.html#Controlling-CGDB

아주 갈수력 실력이 줄어드는게 눈에 보이는군요

아아... 옛날엔 당연하던게 이제보니깐 짱좋은 기능이 되버렸네여

어서 빨리 윈도우플밍 가튼거 버리고 터미널의 세계로 빠지고 싶네여.... 눅스하는 회사 가가시퍼여......

어?! 그러고 보니 난 GDB자체에 색깔넣는게 목표였지 (GDB 명령어라던가,,, 변수에 따른 글자색이라던가)

이게 목표가 아니었네 .... 행여 이쪽에 대해서 아시는분이 있으면 댓글 부탁 드려요!

ps; 으아아아악 ctags가 안먹혀어..........

2 무기력증

요즘엔 말이져..

다 하기 싫다는.. 걍 귀차늠...

일하는것도 보람도 없고 걍 별 흥미없는걸로 시간때우고 웝급받고 하는 이런 무한루프에 빠진..

그러다보니 메너리즘 크리 + 무기력증 이 엄습........

그래서 또 구글신님께 빌어봤어요. 그래서 찾은게 이거... 역시 나만 그런게 아니였어

http://kldp.org/node/52929

비록 5년전 글이지만.... 뭔가 와닫는게 있네요.

1. 목표먼저 세우거나
2. 걍 놀거나
3. 컴터를 버린다 (어?)

............ 아중에 하난가;

음... 역시 "계획", "하루 목표" 이게 없어서 무기력해졌던거 같군여.. 아 그리고 필수적으로 "실행" 이 있어야

겠지여... 이게 없으면 앞에 2개가 완전 도루묵이니까.....
Trackback 0 Comment 4
  1. Favicon of https://khmirage.tistory.com BlogIcon 환상경 2010.09.11 17:16 신고 address edit & del reply

    전 KLDP 유저분이 개발하신 MyGDB가 더 땡기는데요 ㅋㅋㅋㅋ
    GDM에 Tcl/Tk로 GUI 입혀둔건데 쓸만해보이더라구요
    하지만 정작 gdb를 사용할줄 몰라서 제대로 활용을 못한다는게 흑흑

    • lowid 2010.09.11 20:01 address edit & del

      예, 저도 그거 알죠.. 심플하게 쓰기 쉽게 만들어 두셨던데.... DDD보다 좋아보이더군여.
      근데 그건 GUI.............. 마우스질 귀차나여...
      ps;GDB명령어야... vim처럼 한 10개정도만 알아도 저처럼 기초는 할수있다는건 정돈 아시믄서~
      나머지야 뭐 하다보면 배우는거구....

  2. Favicon of https://zeper.tistory.com BlogIcon zeper 2010.09.11 18:54 신고 address edit & del reply

    리눅스보다는 윈도우 툴을 많이 쓰는터라 리눅스 디버깅툴을 사용할일이 없네요;;
    리눅스랑 멀어지지 않기위해서 틈틈이 접속해서 pacman -Syu 날립니다.ㅋ

    • lowid 2010.09.11 19:59 address edit & del

      그럼 윈도우에서 만든 프로그램 리눅이로 다시한번 재구성해보는거슨 어떠신가요 ㅋ
      ps;archlinux홈페이지나... 아님 쉘스크립트 대충보고 부팅시 자동으로 업뎃해주는놈 하나 짜세여...
      별로 어렵지도 않아요~

gdb에서 core dump 디버깅

일단 dump파일을 쓸수 있는 환경 인지 조사해 본다

ulimit -c

만약 "0"라면 크기를 늘립시다..... 한.. 100000? 뭐 값은 알아서.....ㅋ

아마.. 따로 설정하지 않는이상 어지간한 배포판에서는 "0"로 설정되어 있을겁니다....

(특정배포판에 따라서.... 이 값이 고정되어 있을수도 있으므로 주의하자. 특히 레뎃, 페도라는......)

ulimit -c 100000

자..... 이젠 세그멘테이션 폴트를 일으키면 덤프파일을 내뱉게 됩니다 >_<

그담엔 gcc에서 실행하는 방법...

순서대로 적어야된다는.....  안그럼 에러(?) 뜬다는.....

gcc <exec_filename> <dump_filename>

그름 인제 다음과 같이 심볼 읽어들은 다음에, 틀린부분을 뱉어줍니다.

ps; 여러분! gcc컴파일할때 디버그 정보를 보려면 '-g' 옵션을 붙이는것은 다 아시죠? (네에~)

Reading symbols from /usr/lib/libpng14.so.14...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libpng14.so.14
......
Reading symbols from /usr/lib/libXdmcp.so.6...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libXdmcp.so.6
Core was generated by `./qq'.
Program terminated with signal 11, Segmentation fault.
#0  main (argc=1, argv=0xbfdae444) at /tmp/qq.c:26
26          *a= 3;

이리 쉬운걸 몰라쓰까여......  분명

"세그멘테이션 폴트 일어나면 덤프파일을 만든다" 까지는 알고 있었는데....

(어연 옛날? 학교 유닉스 서버에서는 분명이 덤프파일이 떳었던걸로 기억하는지라 그때부터 알았는데..... )

왜 눅스에서는 덤프파일은 안나오지... 이상하다.. 라고 "생각" 만 했었거든요 -_-....

(분명히 설정값 건드리면 나올거라고 생각은 했는데)

왜 GDB랑 생각을 안했는지 미스테리...

ulimit 명령어가 있었다는것도 지금 알았네요.... GDB는 초보라능.....

- 지금 프로그램 띠워나서... 세그폴트날때까지 기대리고 있는데... 안죽네여 아놔.. 아깐 그렇게 잘 죽더니만
Trackback 0 Comment 2
  1. Favicon of https://khmirage.tistory.com BlogIcon 환상경 2010.09.09 19:59 신고 address edit & del reply

    어후 이런 기능이 있었군요 -0-
    언제나 세그 폴트나면 궁극기인 printf문 찍기 했었는데 흑흑
    무식하면 몸이 고생한다는말 진리인듯 =_=

    • Favicon of https://lowid.tistory.com BlogIcon Lowid 2010.09.10 01:41 신고 address edit & del

      자자.. 이제 환상경님도 본격적으로 CGDB써보시는 겁니다!

gdb 에서 thread 생성/종료 메세지 안나오게 하기

GDB랑 멀티스레드랑 같이 사용하면 스레드 관련 메세지가 나온다

문제는 스레드가 매우자주 (뭐 1초라던가) 생겼다 없어지는 프로그램이라면...

화면에  아래와 같은 문자가 계속나와서 ...... 기존의 디버그 메세지조차 다 없애 버린다는거.....

......
[New Thread 0xb52ceb70 (LWP 30665)]
[Thread 0xb52ceb70 (LWP 30665) exited]
[New Thread 0xb52ceb70 (LWP 30666)]
[Thread 0xb52ceb70 (LWP 30666) exited]
[New Thread 0xb52ceb70 (LWP 30667)]
[Thread 0xb52ceb70 (LWP 30667) exited]
[New Thread 0xb52ceb70 (LWP 30668)]
[Thread 0xb52ceb70 (LWP 30668) exited]
[New Thread 0xb52ceb70 (LWP 30669)]
[Thread 0xb52ceb70 (LWP 30669) exited]
[New Thread 0xb52ceb70 (LWP 30670)]
[Thread 0xb52ceb70 (LWP 30670) exited]
[New Thread 0xb52ceb70 (LWP 30671)]
......
^C
Program received signal SIGINT, Interrupt.
0xb7fe1424 in __kernel_vsyscall ()
(gdb)

이것도 찾아보면 금방나오네여...

(사실 저번에도 찾았는데... 그렇게 안찾이던게(?) 오늘은 한방에 찾아지네여 신기해라...

대체 저번엔 구글에서 무슨 키워드로 검색했길래 못 찾았지 ㅠㅠ)

뭐 어떤애들은 GDB소스를 뜯어고쳐서 해결하라는 -_- 애들도 있긴하던데...

이건 좀 무리... 무리...... 수정후 리컴파일은 복잡하자나.......

그래서 다음과 같은 방법을 찾음..

역시 길은 있다는.. 못찾을 뿐이지...

$gdb ./program
Reading symbols from /home/lowid/program ...done
(gdb) set print thread-events off
(gdb) run

이제 스레드 생성/종료 이벤트 알림 메세지가 더이상 나오지 않습니다 만세!

--------------------------------------------------------------------------------------------------

GDB에서 Thread 디버깅할때 ...... 더 자세한 내용은 역시 메뉴얼 페이지를 읽어보는것이 제일 낫다..

관심있다면 한번 읽어보세요

http://sourceware.org/gdb/current/onlinedocs/gdb/Threads.html
Trackback 0 Comment 2
  1. Favicon of https://zeper.tistory.com BlogIcon zeper 2010.08.29 20:39 신고 address edit & del reply

    한수 배우고갑니다. *A*b

    • Favicon of https://lowid.tistory.com BlogIcon Lowid 2010.09.08 23:30 신고 address edit & del

      네에~ 저도 저번에 weechat 한수배웠어여~ 감사

prev 1 2 3 4 5 6 ··· 19 next