저는 C++ 프로그램의 성능을 향상시키기 위해 노력하고 있으며 메모리 할당 (mallocs)을 객체 풀로 변환하면 큰 효과를 얻고 있습니다. 코드베이스가 상당히 크기 때문에 malloc이 호출 된 장소를 감지하는 것이 문제입니다. 많은 타이머와 시그널 핸들러가 병렬로 실행되기 때문에 브레이크 포인트가있는 간단한 gdb를 사용할 수 없습니다.C++이 메모리 할당을 감지합니다.
gdb에서 malloc을 호출 할 때마다 매번 수동으로 수행하지 않고 전체 스택 추적을 인쇄 할 수있는 방법이 있습니까? 또는 동일한 작업을 수행하는 데 도움이되는 다른 도구를 제안 해 줄 수 있습니까?
전체 코드베이스에서 문자열'malloc '을 검색하는 것이 얼마나 어렵습니까? – taskinoor
왜 C++ 코드에서 malloc을 사용하고 있습니까? 새로운 것을 사용해야합니다. 어떤 경우에는 자신 만의 새로운 연산자를 정의 할 수 있습니다. –
GDB에서 [* this *] (http://stackoverflow.com/a/378024/23771) 할 수 있습니까? * malloc * (또는 * new *)에 도착하면 살아있는 것을 발견했습니다. 그렇지 않은 경우, 20 개 정도의 샘플을 채운 후에는 너무 적은 시간 만 사용하여 최적화하면 실제로 가치가 없습니다. –