2009-10-28 6 views
1

Gentoo에서 패키지를 빌드 할 때. 나는 '-ggdb3'플래그가 패키지를 깨뜨릴 수 있다는 경고를 받는다.어떻게 GDB 디버깅 심볼에 'break packages'를 포함시킬 수 있습니까?

나는 그것이 사실 일 때의 예를 아직 찾지 못했습니다. 다른 최적화 설정을 위반 한 코드를 발견했지만 디버깅 기호를 포함하는 것과는 다릅니다.

일부는 디버깅 기호없이 컴파일하고 런타임에 다른 방법으로 컴파일하지 않을 코드 예제를 제공 할 수 있습니까?

답변

1

"구시대"나는 스크래치 시스템에서 전체 리눅스를 빌드하여 모든 단일 바이너리에 대한 디버깅을 남겼습니다. 물론 설치가 상당히 많았고 메모리 사용량이 이상적 이었지만 컴파일이나 후속 실행에 전혀 문제가 없었습니다.

네거티브를 증명하기가 어렵고 일화를 통해 할 수없는 경우가 있지만 두 번째 데스크톱/장난감 서버로 실행하면 실제로 문제가되지 않는다고 결론 내릴 수 있습니다.

당신이 얻고있는 플래그는 테스트되지 않은 USE 플래그를 설정하거나 패키지를 설치할 의도가없는 패키지가 Gentoo에서 제공한다는 표준 경고라고 생각합니다. 깃발이 무엇인지를 아는 한 -이 경우에, 당신은 ... - 당신이 어떤 "미션 크리티컬 (mission critical)"환경에 배치하지 않는 것 (즉, 무언가가 잘못 될 경우 당신이 비난받을 것입니다)이 안전하다고 보입니다 경고를 무시하십시오.

+0

당신의 CFLAGS에 Werror를 남겨두면 번거 로움이 없지만 다른 이야기입니다 ;-) –

+0

@Chris 저는 Gentoo가 원인이됨을 발견했기 때문에 지금 FreeBSD를 기쁘게 생각합니다. 번거 로움이 없지만 또 다른 이야기입니다 ...;) – Dmitri

1

디버깅 기호가 포함되어있어 한 번도 테스트에 실패하지 않았습니다. 나는 PPC을 다룰 때만 최적화 버그에 물 렸습니다.

그러나 건물을 고려해야합니다. 실행 파일이 initrd와 같은 것으로 복사 될 경우, 일반적으로 정적으로 링크하는 경우에는 실행 파일을 제거 (또는 디버깅 기호없이 컴파일)해야합니다.

+0

ppc 란 무엇입니까? 당신은 '클릭당 지불'을 의미하지 않습니까? –

+0

@Chris Huang-Leaver : http://refspecs.freestandards.org/LSB_1.3.0/PPC32/spec/book1.html (예 : PowerPC .. Motorola의 영리한 사람들이 나왔습니다.)? –

+0

@ tinkertim IC, 제가 생각할 수있는 유일한 것은 http://stackoverflow.com/questions/768588/입니다. 솔라리스의 컴파일러 문제라고 생각합니다. –

-2

때때로 디버깅 기호를 설정하면 실제로 컴파일러에서 생성 된 코드가 변경되므로 "올바른 코드"에서 "잘못된 코드"로 이동할 가능성이 항상 있습니다.

"-ggdb3"의 특정 변경 사항을 알 수는 없지만 경고 대상이 될 수 있습니다.

+0

GCC, AFAIK – Hasturkun

관련 문제