2014-05-18 2 views
0

커널 모듈을 개발 중입니다. 특정 오류가 발생하면 디버거를 중단하거나 실행을 중지하고 싶습니다.커널 모듈에서 'assert'는 무엇입니까?

어떻게 조건 최적화는

및 최적화가 활성화 될 때 제거되지 않습니다

  • 을 사용할 때 제거 오류 상태

    • 를 실행할 수 있습니까?

답변

3

KASSERT를 사용하십시오. userspace assert()와 약간 다릅니다. 다음과 같이 사용하십시오 :

KASSERT (x == y, ("% s : % d! = % d", func, x, y));

커널 설정에 INVARIANTS 옵션이 정의되어 있으면 KASSERT가 활성화됩니다. 11-CURRENT에서는 기본적으로 활성화되어 있습니다. 안정적인 릴리스에서는 사용할 수 없습니다.

관련 문제