programing

GDB에서 "Single-steping to exit . . that is no line number information" 이라는 메시지가 표시되는 이유는 무엇입니까?

bestcode 2022. 8. 24. 23:56
반응형

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

반응형