gdb로 디버깅시 라인 중복 출력?

ohdol의 이미지

gdb로 디버깅 하고 있는데 트레이스 하고 있는 소스 코드가 중복해서 올라오네요. 아래 예시를 올려두었습니다.
컴파일된 바이너리랑 소스랑 안 맞아서 그런지...
헤깔려서 디버깅 하기 너무 힘드네요.
다른 장비에서는 잘 디버깅 했었는데 왜 이러는지 모르겠네요.
아시는 분 답변 좀 부탁드려요~

디버깅

145         term = apr_table_get(r->headers_in, "Search-Term");
(gdb)
146         if(term) {
(gdb)
145         term = apr_table_get(r->headers_in, "Search-Term");
(gdb)
146         if(term) {
(gdb)
147                     start = ap_getword(r->pool, &term,'-');
(gdb)
148                     end = ap_getword(r->pool, &term,'-');
(gdb)
147                     start = ap_getword(r->pool, &term,'-');
(gdb)
148                     end = ap_getword(r->pool, &term,'-');
(gdb)
149                     mydata->term = start;

원소스

 term = apr_table_get(r->headers_in, "Search-Term");
    if(term) {
        start = ap_getword(r->pool, &term,'-');
        end = ap_getword(r->pool, &term,'-');
        mydata->term = start;
    }
철이^^v의 이미지

Optimization 이 되어있으면 trace시 가끔 그런증상이 있기도 하던데요.
-O0 로 컴파일을 해보고 테스트 해보면 어떨까요?