Поделиться через


Process2.Attach2 - метод

Обновлен: Ноябрь 2007

Аналогично методу Attach он заставляет отладчик прикрепиться к этому процессу за тем исключением, что этот метод позволяет указать ядро или набор ядер отладки.

Пространство имен:  EnvDTE80
Сборка:  EnvDTE80 (в EnvDTE80.dll)

Синтаксис

'Декларация
Sub Attach2 ( _
    Engines As Object _
)
'Применение
Dim instance As Process2
Dim Engines As Object

instance.Attach2(Engines)
void Attach2(
    Object Engines
)
void Attach2(
    [InAttribute] Object^ Engines
)
function Attach2(
    Engines : Object
)

Параметры

Заметки

Метод Attach2 позволяет прикрепиться к процессу с использованием определенного ядра или набора ядер отладки. Параметр Engines может быть одиночной строкой BSTR, коллекцией строк BSTR, одиночным объектом Engine или коллекцией объектов Engine. Если параметр задан в виде строки BSTR, то в ней можно задать первые символы имени ядра или его идентификатора (GUID). Список ядер определяется конкретным объектом Transport.

Примеры

' Macro code.
' The examples below illustrate how to attach to default, local, and 
' remote processes.
Imports EnvDTE
Imports EnvDTE80
Imports System.Diagnostics
Imports Microsoft.VisualBasic.ControlChars

Public Module Module1

    Sub NativeAttachToLocalCalc()
        Dim dbg2 As EnvDTE80.Debugger2
        dbg2 = DTE.Debugger

        Dim attached As Boolean = False
        Dim proc As EnvDTE80.Process2
        For Each proc In DTE.Debugger.LocalProcesses
            If (Right(proc.Name, 8) = "calc.exe") Then
                proc.Attach2("native")
                attached = True
                Exit For
            End If
        Next

        If attached = False Then
            If attached = False Then
                MsgBox("calc.exe isn't running")
            End If
        End If
    End Sub

    Sub DefaultAttachToLocalCalc()
        Dim dbg2 As EnvDTE80.Debugger2
        dbg2 = DTE.Debugger

        Dim attached As Boolean = False
        Dim proc As EnvDTE80.Process2
        For Each proc In DTE.Debugger.LocalProcesses
            If (Right(proc.Name, 8) = "calc.exe") Then
                proc.Attach2()
                attached = True
                Exit For
            End If
        Next

        If attached = False Then
            If attached = False Then
                MsgBox("calc.exe isn't running")
            End If
        End If
    End Sub
End Module

Разрешения

См. также

Ссылки

Process2 Интерфейс

Process2 - члены

EnvDTE80 - пространство имен

Другие ресурсы

Практическое руководство. Компиляция и выполнение примеров кода модели объектов автоматизации