4
C 매크로 (매크로의 중첩 매크로)를 광범위하게 사용하는 응용 프로그램을 디버깅하려고합니다. "선언되지 않은 식별자 사용"오류를 제공합니다.LLDB 디버거 - C 매크로를 평가하는 방법?
LLDB 디버거를 올바르게 인식하고 평가할 수있는 방법이 있습니까? 매크로를 직접 분해하고 전체 표현식을 작성할 수는 있지만 매우 지루하고 오류가 발생하기 쉽습니다.
C 매크로 (매크로의 중첩 매크로)를 광범위하게 사용하는 응용 프로그램을 디버깅하려고합니다. "선언되지 않은 식별자 사용"오류를 제공합니다.LLDB 디버거 - C 매크로를 평가하는 방법?
LLDB 디버거를 올바르게 인식하고 평가할 수있는 방법이 있습니까? 매크로를 직접 분해하고 전체 표현식을 작성할 수는 있지만 매우 지루하고 오류가 발생하기 쉽습니다.
불행히도 이것은 컴파일러에서 매크로에 대한 디버그 정보를 얻지 못하기 때문에 발생하지 않습니다. 선 처리기가 수행 한 후에 매크로가 사라지기 때문에 컴파일러에서 소스 코드를 기계 코드로 변환하기 전에 의미가 있습니다.
그래, 매크로 정보는 clang의 디버그 정보에 나타나지 않습니다. (이미 큰) 디버그 정보에 더 많은 데이터를 추가합니다. 나는 gcc의 일부 버전이 DWARF에서 방출되고 있다고 생각한다. lldb가 프로그램에서 돌아갈 때, 매크로와'#defined'는 전혀 사용할 수 없습니다. –