KOTET'S PERSONAL BLOG

#cpplang clangのデバッグ情報に行番号をのせる

Created: , Last modified:
#cpplang #tech

これは1年以上前の記事です

ここに書かれている情報、見解は現在のものとは異なっている場合があります。

clangでAddressSanitizerとか使うと-gオプションなどをつけても行番号や関数名などの情報が出てこなくて困っていた。

=================================================================
==32466==ERROR: LeakSanitizer: detected memory leaks

Direct leak of 25000000 byte(s) in 1 object(s) allocated from:
    #0 0x557d7cdee698  (/home/kotet/Documents/c-parallel-mandel/serial+0x105698)
    #1 0x557d7ce237b8  (/home/kotet/Documents/c-parallel-mandel/serial+0x13a7b8)
    #2 0x7f81bcdddee2  (/usr/lib/libc.so.6+0x26ee2)

SUMMARY: AddressSanitizer: 25000000 byte(s) leaked in 1 allocation(s).

llvm-symbolizer

llvm-symbolizerというのが必要だったらしい。 Arch Linuxの場合は llvm パッケージを入れると一緒にインストールされる。

=================================================================
==797==ERROR: LeakSanitizer: detected memory leaks

Direct leak of 25000000 byte(s) in 1 object(s) allocated from:
    #0 0x5590056c5698 in calloc (/home/kotet/Documents/c-parallel-mandel/serial+0x105698)
    #1 0x5590056fa7b8 in main /home/kotet/Documents/c-parallel-mandel/main.c:18:20
    #2 0x7f92d8211ee2 in __libc_start_main (/usr/lib/libc.so.6+0x26ee2)

SUMMARY: AddressSanitizer: 25000000 byte(s) leaked in 1 allocation(s).