SplitSymbols 関数 (imagehlp.h)
指定したイメージからシンボルを取り除きます。
構文
BOOL IMAGEAPI SplitSymbols(
[in] PSTR ImageName,
[in] PCSTR SymbolsPath,
[out] PSTR SymbolFilePath,
[in] ULONG Flags
);
パラメーター
[in] ImageName
シンボルの分割元となるイメージの名前。
[in] SymbolsPath
シンボルを格納するためのサブディレクトリ。 このパラメーターは省略可能です。
[out] SymbolFilePath
生成されたシンボル ファイルの名前。 このファイルは通常、.dbg 拡張子を持ちます。
[in] Flags
画像から分割する情報。 このパラメーターには、0 または次の値の組み合わせを指定できます。
戻り値
関数が成功した場合、戻り値は TRUE になります。
関数が失敗した場合、戻り値は FALSE になります。 拡張エラー情報を取得するには、 GetLastError を呼び出します。
解説
SplitSymbols 関数は、画像からシンボルを削除するときに使用する必要があります。 互換性のあるすべてのデバッガーが理解するシンボル ファイルが作成されます。 形式は WinNT.h で定義され、イメージ ヘッダーの後にセクション ヘッダーの配列、FPO 情報、およびイメージからのすべてのデバッグ シンボリック情報で構成されます。
SymbolsPath パラメーターが NULL の場合、シンボル ファイルはイメージが存在するディレクトリに格納されます。 それ以外の場合は、イメージの拡張機能と一致する SymbolsPath の下のサブディレクトリに格納されます。 このメソッドを使用すると、シンボル ファイルが競合する可能性が低くなります。 たとえば、myapp.exe のシンボルは SymbolsPath\exe ディレクトリに格納され、myapp.dll のシンボルは SymbolsPath\dll ディレクトリに格納されます。
ImageHlp 関数 (この関数など) はすべてシングル スレッドです。 そのため、複数のスレッドからこの関数を呼び出すと、予期しない動作やメモリ破損が発生する可能性があります。 これを回避するには、複数のスレッドからのすべての同時呼び出しをこの関数に同期する必要があります。
要件
サポートされている最小のクライアント | Windows XP (デスクトップ アプリのみ) |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
対象プラットフォーム | Windows |
ヘッダー | imagehlp.h |
Library | Imagehlp.lib |
[DLL] | Imagehlp.dll |