DkmInstructionSymbol.GetCompilerId Метод

Определение

Перегрузки

GetCompilerId(DkmInspectionSession)

Возвращает идентификатор компилятора (LanguageId/VendorId) для заданного символа.

Для модуля чтения PDB (Майкрософт), если PDB-файл был создан компилятором, который использовал ISymUnmanagedWriter, модуль чтения PDB сможет определить правильный Дкмкомпилерид из пары LanguageId/VendorId, передаваемой из ISymUnmanagedWriter. DefineDocument.

Если файл PDB был создан компилятором, который не использовал ISymUnmanagedWriter, модуль чтения PDB может получить Дкмкомпилерид из записей S_COMPILE * PDB. Чтобы это работало, компилятор должен сначала создать запись S_COMPILE * для каждого компилируемого объекта. Компилятор должен правильно заполнить значение перечисления языков и строку компилятора. Компилятор должен убедиться, что строка компилятора достаточно специфична для использования при выборе средства оценки выражений. рекомендуется включить название компании. После выпуска пары "перечисление-имя" программа установки для оценки выражений должна зарегистрировать эту пару с помощью отладчика. Для этого средство оценки выражений должно установить следующий раздел реестра: компиляторы%Всрегистрирут%\дебугжер\кодевиев % кодевиевлангуажекоде%:% компилернаме% и определить VendorID/LanguageId.

GetCompilerId(DkmWorkList, DkmInspectionSession, DkmCompletionRoutine<DkmGetCompilerIdAsyncResult>)

Возвращает идентификатор компилятора (LanguageId/VendorId) для заданного символа.

Для модуля чтения PDB (Майкрософт), если PDB-файл был создан компилятором, который использовал ISymUnmanagedWriter, модуль чтения PDB сможет определить правильный Дкмкомпилерид из пары LanguageId/VendorId, передаваемой из ISymUnmanagedWriter. DefineDocument.

Если файл PDB был создан компилятором, который не использовал ISymUnmanagedWriter, модуль чтения PDB может получить Дкмкомпилерид из записей S_COMPILE * PDB. Чтобы это работало, компилятор должен сначала создать запись S_COMPILE * для каждого компилируемого объекта. Компилятор должен правильно заполнить значение перечисления языков и строку компилятора. Компилятор должен убедиться, что строка компилятора достаточно специфична для использования при выборе средства оценки выражений. рекомендуется включить название компании. После выпуска пары "перечисление-имя" программа установки для оценки выражений должна зарегистрировать эту пару с помощью отладчика. Для этого средство оценки выражений должно установить следующий раздел реестра: компиляторы%Всрегистрирут%\дебугжер\кодевиев % кодевиевлангуажекоде%:% компилернаме% и определить VendorID/LanguageId.

Этот метод добавляет новый рабочий элемент в указанный список работ и возвращается после добавления рабочего элемента. Фактическая обработка рабочего элемента выполняется асинхронно. Вызывающий объект будет уведомлен о завершении выполнения запроса через подпрограмму завершения.

Ограничение расположения: API должен вызываться из компонента IDE (уровень компонентов > 100 000).

Этот API появился в Visual Studio 16 RTM (Дкмапиверсион. VS16RTMPreview).

GetCompilerId(DkmInspectionSession)

Возвращает идентификатор компилятора (LanguageId/VendorId) для заданного символа.

Для модуля чтения PDB (Майкрософт), если PDB-файл был создан компилятором, который использовал ISymUnmanagedWriter, модуль чтения PDB сможет определить правильный Дкмкомпилерид из пары LanguageId/VendorId, передаваемой из ISymUnmanagedWriter. DefineDocument.

Если файл PDB был создан компилятором, который не использовал ISymUnmanagedWriter, модуль чтения PDB может получить Дкмкомпилерид из записей S_COMPILE * PDB. Чтобы это работало, компилятор должен сначала создать запись S_COMPILE * для каждого компилируемого объекта. Компилятор должен правильно заполнить значение перечисления языков и строку компилятора. Компилятор должен убедиться, что строка компилятора достаточно специфична для использования при выборе средства оценки выражений. рекомендуется включить название компании. После выпуска пары "перечисление-имя" программа установки для оценки выражений должна зарегистрировать эту пару с помощью отладчика. Для этого средство оценки выражений должно установить следующий раздел реестра: компиляторы%Всрегистрирут%\дебугжер\кодевиев % кодевиевлангуажекоде%:% компилернаме% и определить VendorID/LanguageId.

public:
 Microsoft::VisualStudio::Debugger::Evaluation::DkmCompilerId GetCompilerId(Microsoft::VisualStudio::Debugger::Evaluation::DkmInspectionSession ^ InspectionSession);
public Microsoft.VisualStudio.Debugger.Evaluation.DkmCompilerId GetCompilerId (Microsoft.VisualStudio.Debugger.Evaluation.DkmInspectionSession InspectionSession);
member this.GetCompilerId : Microsoft.VisualStudio.Debugger.Evaluation.DkmInspectionSession -> Microsoft.VisualStudio.Debugger.Evaluation.DkmCompilerId
Public Function GetCompilerId (InspectionSession As DkmInspectionSession) As DkmCompilerId

Параметры

InspectionSession
DkmInspectionSession

[Входные, необязательные] Ссылочный объект, описывающий текущий сеанс проверки. Распространенный способ использования — поставщики символов для кэширования уточняющих запросов с помощью контейнера данных.

Возвращаемое значение

DkmCompilerId

Заполняет LanguageId/VendorId для компилятора, который создал код для этого символа. Если это неизвестное (например, для этого блока нет сведений об символах), оба значения будут иметь значение GUID. Empty. В противном случае оба значения не должны равняться нулю.

Применяется к

GetCompilerId(DkmWorkList, DkmInspectionSession, DkmCompletionRoutine<DkmGetCompilerIdAsyncResult>)

Возвращает идентификатор компилятора (LanguageId/VendorId) для заданного символа.

Для модуля чтения PDB (Майкрософт), если PDB-файл был создан компилятором, который использовал ISymUnmanagedWriter, модуль чтения PDB сможет определить правильный Дкмкомпилерид из пары LanguageId/VendorId, передаваемой из ISymUnmanagedWriter. DefineDocument.

Если файл PDB был создан компилятором, который не использовал ISymUnmanagedWriter, модуль чтения PDB может получить Дкмкомпилерид из записей S_COMPILE * PDB. Чтобы это работало, компилятор должен сначала создать запись S_COMPILE * для каждого компилируемого объекта. Компилятор должен правильно заполнить значение перечисления языков и строку компилятора. Компилятор должен убедиться, что строка компилятора достаточно специфична для использования при выборе средства оценки выражений. рекомендуется включить название компании. После выпуска пары "перечисление-имя" программа установки для оценки выражений должна зарегистрировать эту пару с помощью отладчика. Для этого средство оценки выражений должно установить следующий раздел реестра: компиляторы%Всрегистрирут%\дебугжер\кодевиев % кодевиевлангуажекоде%:% компилернаме% и определить VendorID/LanguageId.

Этот метод добавляет новый рабочий элемент в указанный список работ и возвращается после добавления рабочего элемента. Фактическая обработка рабочего элемента выполняется асинхронно. Вызывающий объект будет уведомлен о завершении выполнения запроса через подпрограмму завершения.

Ограничение расположения: API должен вызываться из компонента IDE (уровень компонентов > 100 000).

Этот API появился в Visual Studio 16 RTM (Дкмапиверсион. VS16RTMPreview).

public:
 void GetCompilerId(Microsoft::VisualStudio::Debugger::DkmWorkList ^ WorkList, Microsoft::VisualStudio::Debugger::Evaluation::DkmInspectionSession ^ InspectionSession, Microsoft::VisualStudio::Debugger::DkmCompletionRoutine<Microsoft::VisualStudio::Debugger::Symbols::DkmGetCompilerIdAsyncResult> ^ CompletionRoutine);
public void GetCompilerId (Microsoft.VisualStudio.Debugger.DkmWorkList WorkList, Microsoft.VisualStudio.Debugger.Evaluation.DkmInspectionSession InspectionSession, Microsoft.VisualStudio.Debugger.DkmCompletionRoutine<Microsoft.VisualStudio.Debugger.Symbols.DkmGetCompilerIdAsyncResult> CompletionRoutine);
member this.GetCompilerId : Microsoft.VisualStudio.Debugger.DkmWorkList * Microsoft.VisualStudio.Debugger.Evaluation.DkmInspectionSession * Microsoft.VisualStudio.Debugger.DkmCompletionRoutine<Microsoft.VisualStudio.Debugger.Symbols.DkmGetCompilerIdAsyncResult> -> unit
Public Sub GetCompilerId (WorkList As DkmWorkList, InspectionSession As DkmInspectionSession, CompletionRoutine As DkmCompletionRoutine(Of DkmGetCompilerIdAsyncResult))

Параметры

WorkList
DkmWorkList

Ворклист добавить новый рабочий элемент в.

InspectionSession
DkmInspectionSession

[Входные, необязательные] Ссылочный объект, описывающий текущий сеанс проверки. Распространенный способ использования — поставщики символов для кэширования уточняющих запросов с помощью контейнера данных.

CompletionRoutine
DkmCompletionRoutine<DkmGetCompilerIdAsyncResult>

Подпрограмма, которая будет срабатывать после завершения запроса. Если запрос успешно добавлен в список работ, он всегда будет срабатывать (включая время отмены операции). Это никогда не будет срабатывать в случае сбоя при добавлении рабочего элемента.

Применяется к