Solaris モジューラデバッガ

mdb_warn()

void mdb_warn(const char *format, ...);

エラーまたは警告メッセージを標準エラーに出力します。mdb_warn() 関数では、書式文字列と mdb_printf() で掲げられているすべての指示子を含む可変の引数リストを指定することができます。ただし、mdb_warn() の出力が標準エラーに送られる場合は、バッファーには格納されず、出力ページャーを通して送信されたり、dcmd パイプラインの一部として処理されることはありません。すべてのエラーメッセージの先頭には自動的に、「mdb:」という接頭辞が付けられます。

さらに、format パラメータに復帰改行 (\n) 文字が含まれていない場合は、書式文字列の末尾には暗黙的に文字列「: %s\n」が付けられます。ここで、%s はモジュール API 関数が最後に記録したエラーに対応するエラーメッセージ文字列に置換されます。たとえば、次のソースコードの場合を考えます。

if (mdb_lookup_by_name("no_such_symbol", &sym) == -1)
       mdb_warn("lookup_by_name failed");

この場合、次のような出力が得られます。

mdb: lookup_by_name failed: unknown symbol name