본문 바로가기

컴퓨터 관련/Linux || Unix52

[GDB] gdb breakpoint 정리 혹시, gdb에 대해서 아시나요? 프로그래밍을 할 때, 디버깅을 하기 위해서 툴 하나씩은 다루실 것입니다. 물론, 아직 다루시지 않는 분들도 계실 것입니다. 혹시 아직도 printf로 어디가 문제 있는 지 찾는 분 계시나요? 물론, 저도 처음에는 그랬습니다. 이 방법은 굉장히 시간이 오래 걸리는 방법입니다. 특히, 임베디드 시스템은 훨씬 오래 걸리게 됩니다. 왜냐하면 컴파일을 하는 시간이 굉장히 길기 때문에 신중하게 고쳐야 하거든요. 그래서 오늘은 디버깅 툴 중 하나인 강력한 디버깅 툴인 gdb의 기능을 정리하고자 합니다. 보통 gdb를 어려워 하는 이유는 breakpoint를 어떻게 잡아야할 지에 대한 막막함 때문이라고 생각합니다. 따라서 gdb의 breakpoint를 거는 방법에 대해 정리해보고자 합.. 2017. 4. 27.
리눅스(Linux) 루트 권한 얻기 우분투나 페도라 등의 리눅스에서 작업을 하다보면 루트 권한이 필요한 경우가 있다. 이번 포스팅은 루트 권한을 얻는 방법을 간단하게 소개하고자 한다. 먼저, 아무런 설정 없이 루트 권한을 얻기 위한 다음의 명령어를 입력해보자. 1su -cs 비밀번호를 요구할텐데, 우리가 초기에 설정한 로그인 비밀번호를 입력해도 틀렸다고 나온다. 이것은 루트 권한에 대한 비밀번호이므로 당연히 따로 설정을 해야줘야 한다. 따라서 다음의 명령어로 루트 권한의 비밀번호를 설정한다. 1sudo passwd rootcs 그러면 암호를 입력하라고 나온다. 이때, 자신이 정할 루트 권한에 대한 암호를 입력하면 루트 비밀번호 설정이 완료된다. 2017. 4. 27.
컴파일러(compiler)와 인터프리터(interpreter)의 차이점 / 컴파일러란? /인터프리터란? 인터프리터는 프로그래밍 언어의 소스코드를 바로 실행하는 컴퓨터 프로그램 또는 환경을 말한다. 원시 코드를 기계어로 번역하는 컴파일러와는 반대되는 개념이라고 생각하면 된다. 다음의 과정 중에 적어도 한 가지 기능은 가져야 한다. 1. 소스 코드를 직접 실행한다. 2. 소스 코드를 효율적인 다른 중간 코드로 변환하고, 그것을 바로 실행한다. 3. 인터프리터 시스템의 일부인 컴파일러가 만든, 미리 컴파일된 저장 코드의 실행을 호출한다. 인터프리터는 고급 언어로 작성된 (다시말하면 사람이 읽거나 이해할 수 있는) 원시코드 명령어들을 한번에 한 줄씩 읽여들여서 실행하는 프로그램이다. 인터프리터는 고급 명령어들을 중간 형태로 변환하고 그것을 실행함으로써, 컴파일러보다 실행 속도가 빠르다. 그러므로 즉시 실행 결과를.. 2017. 4. 25.
GTK+ 버튼 클릭으로 콘솔에 문자열 출력 GTK의 시그널 처리를 이용하여 버튼을 누를 때마다 Console 창에 특정 문자열을 출력하는 방법을 소개하고자 한다. Java에서 액션리스너를 사용하여, 간단하게 출력하는 것처럼 GTK도 간단하다. 그럼 다음 소스를 먼저 보자.123456789101112131415161718192021222324252627282930313233343536#include void button_clicked(GtkWidget *widget, gpointer data) { g_print("clicked\n");} int main(int argc, char *argv[]) { GtkWidget *window; GtkWidget *halign; GtkWidget *btn; gtk_init(&argc, &argv); window.. 2017. 4. 23.