GDB를 사용하여 C 프로그램을 디버깅했지만 GDB가 일부 코드를 두 번 실행합니다. 예를 들어GDB 디버깅 문제
,
....
stream_t *s = stream_CommonNew(VLC_OBJECT(p_access));
stream_sys_t *p_sys;
if(!s)
return NULL;
s->p_input = p_access->p_input;
s->psz_path = strdup(p_access->psz_path);
....
GDB 디버깅,
292 stream_t *s = stream_CommonNew(VLC_OBJECT(p_access));
Missing separate debuginfos, use: debuginfo-install dbus-libs-1.2.16-9.fc12.i686 libcap-ng-0.6.2-3.fc12.i686
(gdb) next
295 if(!s)
(gdb)
292 stream_t *s = stream_CommonNew(VLC_OBJECT(p_access));
(gdb)
295 if(!s)
(gdb)
298 s->p_input = p_access->p_input;
(gdb)
299 s->psz_path = strdup(p_access->psz_path);
(gdb)
298 s->p_input = p_access->p_input;
(gdb)
299 s->psz_path = strdup(p_access->psz_path);
나는 혼란 스러워요. 이유를 설명해 주시겠습니까?
감사
컴파일러 최적화가 활성화되어 있습니까? –
@Oli Charlesworth : 예, 가능하다고 생각합니다. – JavaMobile