2014-02-06 4 views
0

디버깅 세션 내에서 gdb가 std :: vector의 모든 용어를 살펴보고 a를 만족시키는 인덱스를 출력 할 수 있는지 궁금합니다. 특정 조건. 제 경우에는 벡터가 있고, 어떤 단어가 부정적인지 알고 싶습니다. 조건부 중단 점을 사용하여이 작업을 수행 할 수 있음을 잘 알고 있습니다. 그러나 프로그램을 다시 실행하고 벡터가 초기화되는 위치에 중단 점을 배치해야하지만 덜 편리합니다.gdb에서리스트 용어의 위치를 ​​찾는다

+0

코드 실행시 호출되지 않는 디버거 내에서 함수를 호출 할 수 있습니다. 적절한 함수를 작성하고 벡터에서 호출하십시오. – borrible

+0

그게 좋은 생각인데, 이것은 또한 새로운 기능을 추가해야 할 때마다 디버깅 세션을 다시 시작해야한다는 것을 의미하며 좀 더 역동적 인 것을 찾고 있습니다. – user2535797

답변

0

평범한 gdb로 당신이 원하는 것을 할 방법이 없습니다. 디버거에는 임의의 쿼리를 실행할 수있는 언어가 없습니다. 즉, 디버거는 데이터와 상호 작용할 파이썬 스크립트를로드하기위한 지원 (적어도 고대 버전이 아님)을 가지고 있습니다.

gdb 명령 줄에서 스크립트를 정의 할 수 있습니다. 그렇지 않으면 파일에서 정의하고 명령 줄에서로드 할 수 있습니다.

관련 문제