+7 (495) 229-0436   shopadmin@itshop.ru 119334, г. Москва, ул. Бардина, д. 4, корп. 3
 
 
Вход
 
 
Каталог
 
 
Подписка на новости
Новости ITShop
Windows 7 и Office: Новости и советы
Обучение и сертификация Microsoft
Вопросы и ответы по MSSQLServer
Delphi - проблемы и решения
Adobe Photoshop: алхимия дизайна
 
Ваш отзыв
Оцените качество магазина ITShop.ru на Яндекс.Маркете. Если вам нравится наш магазин - скажите об этом Google!
 
 
Способы оплаты
 
Курс расчета
 
 1 у.е. = 94.09 руб.
 
 Цены показывать:
 
 
 
 
  
Новости, статьи, акции
 

Быстрый Attach to Process

18.11.2011 14:42

В Visual Studio есть удобная возможность присоединяться к запущенному процессу (Tools - Attach to Process...) во время отладки. Удобная до тех пор, пока не приходится делать это с завидной регулярностью, тогда выбор нужного процесса из открывшегося списка становится крайне утомительным. Именно поэтому возникает желание автоматизировать эти нехитрые действия.

 Рассмотрим решение на примере Visual Studio 2010, для других версий принципиальных различий нет.

 1. Сначала в Macro Explorer (Tools - Macros - Macro Explorer) создадим новый модуль AttachToProcess.

 

2. В коде модуля добавим функцию присоединения к процессу с параметром ProcessName.


Public Function AttachToProcess(ByVal ProcessName As String) As Boolean
    Dim success As Boolean
    success = True
    Try
        Dim debugger As EnvDTE80.Debugger2 = DTE.Debugger
        Dim transport As EnvDTE80.Transport = debugger.Transports.Item("Default")
        Dim name As String = System.Security.Principal.WindowsIdentity.GetCurrent().Name
        name = name.Substring(0, name.IndexOf("\"))
        Dim process As EnvDTE80.Process2 = debugger.GetProcesses(transport, name).Item(ProcessName)
        process.Attach()
    Catch ex As System.Exception
        success = False
    End Try
    Return success
End Function

 3. Добавим метод, который будет использоваться в дальнейшем для вызова из Visual Studio. В нем задается имя процесса.
Sub AttachToW3WP()
    If Not AttachToProcess("w3wp.exe") Then
        System.Windows.Forms.MessageBox.Show("Cannot attach to process")
    End If
End Sub

 Итоговый код модуля.
Public Module AttachToProcess
    Public Function AttachToProcess(ByVal ProcessName As String) As Boolean
    Dim success As Boolean
    success = True
    Try
        Dim debugger As EnvDTE80.Debugger2 = DTE.Debugger
        Dim transport As EnvDTE80.Transport = debugger.Transports.Item("Default")
        Dim name As String = System.Security.Principal.WindowsIdentity.GetCurrent().Name
        name = name.Substring(0, name.IndexOf("\"))
        Dim process As EnvDTE80.Process2 = debugger.GetProcesses(transport, name).Item(ProcessName)
        process.Attach()
    Catch ex As System.Exception
        success = False
    End Try
    Return success
    End Function

    Sub AttachToW3WP()
        If Not AttachToProcess("w3wp.exe") Then
            System.Windows.Forms.MessageBox.Show("Cannot attach to process")
        End If
    End Sub
End Module

 Можно запустить макрос вручную и проверить, что все работает как надо.

 
4. Добавим тулбар для кнопки вызова макроса (View - Toolbars - Customize...).
 
 
 
5. Добавляем кнопку (команду). Макросы находятся в категории Macros, как это ни удивительно.
 
 
 
Теперь у нас есть панель с кнопкой быстрого присоединения к процессу.
 
 
6. Последний штрих. Назначаем комбинацию клавиш для запуска макроса.
 
 
Вуаля! Отныне вызвать Attach к нужному процессу можно в один клик мышкой или с помощью горячих клавиш.

Ссылки по теме

  
Помощь
Задать вопрос
 программы
 обучение
 экзамены
 компьютеры
Бесплатный звонок
ICQ-консультанты
Skype-консультанты

Общая справка
Как оформить заказ
Тарифы доставки
Способы оплаты
Прайс-лист
Карта сайта
 
Бестселлеры
Курсы обучения "Atlassian JIRA - система управления проектами и задачами на предприятии"
Microsoft Windows 10 Профессиональная 32-bit/64-bit. Все языки. Электронный ключ
Microsoft Office для Дома и Учебы 2019. Все языки. Электронный ключ
Курс "Oracle. Программирование на SQL и PL/SQL"
Курс "Основы TOGAF® 9"
Microsoft Office 365 Персональный 32-bit/x64. 1 ПК/MAC + 1 Планшет + 1 Телефон. Все языки. Подписка на 1 год. Электронный ключ
Курс "Нотация BPMN 2.0. Ее использование для моделирования бизнес-процессов и их регламентации"
 

О нас
Интернет-магазин ITShop.ru предлагает широкий спектр услуг информационных технологий и ПО.

На протяжении многих лет интернет-магазин предлагает товары и услуги, ориентированные на бизнес-пользователей и специалистов по информационным технологиям.

Хорошие отзывы постоянных клиентов и высокий уровень специалистов позволяет получить наивысший результат при совместной работе.

В нашем магазине вы можете приобрести лицензионное ПО выбрав необходимое из широкого спектра и ассортимента по самым доступным ценам. Наши менеджеры любезно помогут определиться с выбором ПО, которое необходимо именно вам. Также мы проводим учебные курсы. Мы приглашаем к сотрудничеству учебные центры, организаторов семинаров и бизнес-тренингов, преподавателей. Сфера сотрудничества - продвижение бизнес-тренингов и курсов обучения по информационным технологиям.



 

О нас

 
Главная
Каталог
Новинки
Акции
Вакансии
 

Помощь

 
Общая справка
Как оформить заказ
Тарифы доставки
Способы оплаты
Прайс-лист
Карта сайта
 

Способы оплаты

 

Проекты Interface Ltd.

 
Interface.ru   ITShop.ru   Interface.ru/training   Olap.ru   ITnews.ru  
 

119334, г. Москва, ул. Бардина, д. 4, корп. 3
+7 (495) 229-0436   shopadmin@itshop.ru
Проверить аттестат
© ООО "Interface Ltd."
Продаем программное обеспечение с 1990 года