2017-08-28 50 views
0

的gcc版本是5.4.0對於-sanitize選項中的gcc,如何將'地址'和'泄漏'一起使用?

我想用它喜歡:-fsanitize =地址,泄漏

OK?

+1

泄漏檢測應該包含在地址清理程序中。 –

+0

@MarcGlisse實際上,我認爲對於LSan和ASan尚未整合的較舊版本(大約4.8版)而言,情況並非如此。例如,請參閱[此評論](https://github.com/google/sanitizers/issues/699#issuecomment-290479274)。 – yugr

回答

0

只要通過-fsanitize=address-fsanitize=leak(作爲單獨的程序參數)到gcc。請閱讀關於Invoking GCC的章節和關於Instrumentation Options的章節。

也考慮使用valgrind程序。

不要忘了編譯全部你的代碼-Wall -Wextra -g(甚至可能是-g3)。

+0

舊版本的gcc文檔明確指出,如果您有-fsanitize = address,-fsanitize = leak就沒用了。 –

+0

@MarcGlisse你能提供更多細節嗎?我認爲ASan和LSan沒有整合到GCC的舊版本中。 – yugr

+1

另一種選擇是傳遞'-fsanitize = address,leak'。 – yugr

相關問題