2013-10-29 2 views
1

디버깅 중에 일부 중단 점을 설정 한 다음 save breakpoints bps으로 저장합니다. 파일의 가운데에 몇 줄을 추가하여 코드가 수정되었습니다.GDB : 수정 된 코드로 중단 점 동기화

gdb가 다시 시작되고 source bps이 완료되면 코드 수정의 첫 번째 항목 위에있는 중단 점은 모두 정상입니다. 나머지는 상대적으로 이동합니다.

수정 된 파일과 중단 점을 지능적으로 동기화하는 방법이 있습니까?

답변

2

수정 된 파일과 중단 점의 일부 스마트 동기화를 수행하는 방법이 있습니까?

이것은 중단 점 설정 방법에 따라 다릅니다. 당신은 함수 이름에서 예를 들어, 독립적으로 행 번호를 설정하려고 할 수 있습니다

(gdb) b main 

이런 식으로 브레이크 포인트 위치 줄 번호에 독립적이며 수정 된 파일을 자동으로 동기화합니다.

2

당신은 int 3를 수행하여 소스 코드에서 중단 점을 추가 할 수 있습니다

#include <stdio.h> 

#define __DEBUG 

#ifdef __DEBUG 
#define __breakpoint__() __asm__ __volatile__("int $3\n") 
#else 
#define __breakpoint__() 
#endif 

int main(int argc, char **argv) { 
    const char *p = "Hello world!"; 

    __breakpoint__(); 
    printf("'%s'\n", p); 

    return 0; 
}