Bagikan melalui


Metode IDebugFailureAnalysis2::AddExtensionCommand (extsfns.h)

Metode AddExtensionCommand menambahkan entri FA baru ke objek DebugFailureAnalysis dan mengatur blok data entri FA ke perintah debugger yang ditentukan.

Sintaks

PFA_ENTRY AddExtensionCommand(
       FA_TAG Tag,
  [in] PCSTR  Extension
);

Parameter

Tag

Nilai dalam enumerasi FA_TAG . Jenis data yang terkait dengan tag ini harus DEBUG_FA_ENTRY_EXTENSION_CMD atau DEBUG_FA_ENTRY_ANSI_STRING.

[in] Extension

Penunjuk ke string ANSI yang dihentikan null yang merupakan perintah debugger. Contoh perintah debugger adalah "!analyze -v".

Nilai kembali

Jika metode ini berhasil, metode mengembalikan penunjuk ke struktur FA_ENTRY baru. Jika metode ini gagal, metode ini mengembalikan NULL.

Keterangan

Metode ini mengatur anggota DataSize dari struktur FA_ENTRY baru ke panjang, dalam byte, dari perintah ekstensi termasuk terminator NULL .

Setiap tag dikaitkan dengan salah satu jenis data dalam enumerasi FA_ENTRY_TYPE . Untuk menentukan jenis data yang terkait dengan tag, panggil metode GetType antarmuka IDebugFAEntryTags .

Untuk mendapatkan penunjuk ke antarmuka IDebugFAEntryTags , panggil metode GetDebugFATagControl antarmuka IDebugFailureAnalysis2 .

[Sperry] Catatan untuk Mandiri: Jika tag yang diberikan belum memperbaiki jenis datanya, metode ini mengatur dan memperbaiki jenis data untuk tag. Itu akan terjadi jika objek DebugFailureAnalysis belum memiliki entri FA dengan tag ini. Tetapi jika objek DebugFailureAnalysis sudah memiliki entri FA dengan tag ini, maka jenis data tag diperbaiki. Metode ini membuat entri FA baru dengan tag yang sama. Sekarang bagaimana jika jenis data yang kami coba tulis ke dalam buffer data baru tidak cocok dengan jenis data yang telah diperbaiki untuk tag ini. Kemudian kita melihat apakah baik-baik saja untuk mentransmisikan dari jenis data tetap ke jenis yang ingin kita tulis.

Tidak apa-apa untuk transmisi di antara ULONG64, POINTER, dan InstructionOffset. Tidak masalah untuk mentransmisikan di antara String dan ExtensionCommand. ULONG hanya dapat berupa ULONG. STRING hanya bisa string.

Pertanyaan: Kapan jenis data tag diperbaiki? Apakah ketika entri FA pertama dengan tag tersebut dibuat?

typedef struct _FA_TAG_PROPS
{
    FA_TAG Tag;
    FA_ENTRY_TYPE Type;
    ULONG Fixed:1;
    ULONG NameAllocated:1;
    ULONG DescriptionAllocated:1;
    PCSTR Name;
    PCSTR Description;
    AnalysisPlugIn *Plugin;
} FA_TAG_PROPS, *PFA_TAG_PROPS;

Persyaratan

Persyaratan Nilai
Target Platform Desktop
Header extsfns.h

Lihat juga

IDebugFAEntryTags

IDebugFailureAnalysis2

SetExtensionCommand

Menulis Plug-in Ekstensi Analisis untuk Memperluas !analyze

_EFN_Analyze