GDB에서 "Single-steping to exit . . that is no line number information" 이라는 메시지가 표시되는 이유는 무엇입니까?
플래그를 사용하여 gcc 4.4.1을 사용하여 C 프로그램을 컴파일했습니다.-g
단, gdb 버전 7.0의 기능 중 하나를 실행하려고 하면 다음과 같은 메시지가 나타납니다.
"Single stepping until exit from function _DictionaryTree_getNodeList,
which has no line number information."
누가 왜 이런 일이 일어나는지 말해줄래?
추측일 뿐이지만 _Dictionary입니다.-g로 컴파일되지 않은 다른 파일에 Tree_getNodeList가 있습니까?
저도 같은 문제가 있었는데 저 같은 경우에는-g
컴파일러로는 부족해서-ggdb
마나브가 제안한 대로.
이 경우 와의 버전스큐가 문제였습니다.
검색에서 이곳에 도착한 후, 이 답변들 중 어느 것도 내 상황에 맞지 않는다는 것을 알게 되었습니다. (에일리어스/심볼링크 때문에)Makefile
/ 환경변수) 실수로 새로운 GCC(4.8.x)와 오래된 GDB(7.2)를 사용하고 있었습니다.새로운 버전의 GDB(7.8)로 업그레이드하면 문제가 해결되었습니다.어떤 이유로 새로운 GCC와 오래된 GDB를 사용해도 작동하지 않았습니다.
저도 이 에러 메세지가 있었지만, 문제의 원인은 달랐습니다.아직 문제가 있는 사람이 있는 경우, 반드시 문제가 있는 것을 확인해 주십시오.#include <stdio.h>
적절한 괄호로 둘러싸서 파일을 작성합니다.stdio.h
(문자메시지가 주변에 있으면 표시되지 않습니다.stdio.h
).
-g 옵션과 -g 옵션을 사용하지 않고 파일을 컴파일 했을 때도 같은 문제가 있었습니다.파일 중 하나에 대해 gdb는 문제없이 행 번호를 표시했습니다(-g 옵션 없이 컴파일된 경우에도 마찬가지).그리고 다른 파일에는 분명히 -g flag를 언급해야 했는데...
소스 파일을 런타임에 상호 참조를 통해 GDB에 로드할 수 있는지 여부에 대한 아이디어가 있으면 좋은 해결책이 될 것입니다.행을 주소:D에 매핑합니다.
디버깅 종료 상태에서 LD_LIBRARY_PATH를 올바른 위치로 지정하지 않고 공유 라이브러리를 디버깅했기 때문에 이 문제가 발생했습니다.
사용할 수 있습니다.
export LD_LIBRARY_PATH=<location of the debug build of the .so file>:$LD_LIBRARY_PATH
이게 누군가에게 도움이 됐으면 좋겠다.
이미 컴파일 중이었는데도 같은 문제가 있었어요.-g2
.로 변경-g3
성공했어.
언급URL : https://stackoverflow.com/questions/2170246/why-am-i-getting-the-message-single-stepping-until-exit-which-has-no-line
'programing' 카테고리의 다른 글
Vuetify - 양식에서 왼쪽 라벨 텍스트와 오른쪽 텍스트 필드를 수행하는 방법 (0) | 2022.08.24 |
---|---|
Vuex 및 Vuex-persistedstate를 사용한 자동 사인인 (0) | 2022.08.24 |
vuejs 2.0의 재귀 구성 요소 통신 (0) | 2022.08.24 |
JPA OneToOne 관계를 게으르게 만들려면 어떻게 해야 합니까? (0) | 2022.08.24 |
모듈 네임스페이스와 함께 Vuex 유형 상수를 사용하는 방법 (0) | 2022.08.24 |