에서 사용하지 않는 함수를 호출, 나는 다음과 같은 코드가 있습니다 :C++ - LLVM과 lldb와 OSX에서 작업 디버거
#include <stdio.h>
class A{
public:
void f() __attribute__((noinline))
{
printf("f()\n");
}
void g() __attribute__((noinline))
{
printf("g()\n");
}
};
int main()
{
A a;
a.g();
return 0;
}
) (주 깨고, 디버거에서 p a.f()
를 호출하려고 내가 얻을 :
error: Couldn't lookup symbols: __ZN1A1fEv
p g.f()
을 호출하는 것이 효과적입니다.
나는 f()를 최적화 할 수 있지만이 최적화를 비활성화하는 방법이 있다는 것을 알고 있으므로 어쨌든 디버거에서 사용할 수 있습니까?
감사합니다.
'main()'에 어딘가에, 예를 들어,'f ('; – lorro
컴파일러 명령 행 최적화 스위치 또는 IDE 컴파일러 설정을 확인하십시오. 실질적으로 모든 기존 컴파일러는 최적화를 비활성화 할 수 있습니다. – Ari0nhh
빠른 해킹으로 '가상'메소드를 만들 수 있습니다. – pts