Chromium

提供:senooken JP Wiki
2023年11月13日 (月) 11:41時点におけるSenooken (トーク | 投稿記録)による版 (新規作成)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)

About

ChromiumはOSSのWebブラウザー。Google Chromeのベースコードになっている。

Debug

Logging

ChromiumはLOG/DLOGとVLOG/DVLOGの2系統のログ出力マクロが用意されている。それぞれ対応するオプションが異なる。VLOG/DVLOGが新しくて推奨されている。

情報源

DLOG/DVLOGはis_debug=trueのときのみ有効になる。

  • --log-level=0: LOG/DLOGの出力ログの制御。
  • --v=0: VLOG/DVLOGの出力ログの制御。
  • --enable-logging: is_debug=falseでもログ出力する?

Stacktrace

以下のようなコードでスタックトレースを出力できる (ChromiumOS Docs - How to get a stack trace at runtime for debugging purposes)。

#include "base/logging.h"
#include "base/debug/stack_trace.h"

LOG(ERROR) << base::debug::StackTrace();
base::debug::StackTrace().Print(); // stderr

CHECK/DCHECK

assert用のマクロがある (Chromium C++ style guide)。

DCHECKはDCHECK_IS_ONがtrueの場合にコンパイルされる。基本はこれを使う。