Что Лучший способ состоит в том, чтобы Отладить программу службы Windows в Visual Studio 2008

Используйте \interfootnotelinepenalty=10000 для общего запрещения этого. Но будьте подготовлены к другим артефактам расположения... Установка штрафа ниже, чем 10 000 даст TEX некоторую гибкость в решении, когда побочные эффекты будут слишком плохи для переноса.

Для детального обсуждения видят объект FAQ TEX , Почему ЛАТЕКС разделяет сноски через страницы?

5
задан Luke101 13 October 2009 в 21:50
поделиться

4 ответа

В прошлом я делал это разными способами, в зависимости от того, как работает программа. Я думаю, что самый простой способ сделать это с помощью директивы препроцессора if #DEBUG вокруг Debugger.Launch () таким образом, когда вы построили оптимизированный проект, вызов Debugger.Launch () не будет компилироваться в сборку.

Один из способов, которым мы также выполнили эту задачу, - это System.Windows.Forms.MessageBox.Show («прикрепить»), который позволял нам вручную подключаться к отладчику всякий раз, когда отображалось диалоговое окно «прикрепить».

Последний способ, который Я не предпочитаю изменять поведение вашей службы на основе переданных параметров командной строки. В основном я предпочитаю НЕ запускать службы с помощью ServiceBase.Run всякий раз, когда определенный параметр был запущен, но вызывая класс, который инкапсулирует поведение / основную функцию служба.

2
ответ дан 13 December 2019 в 19:30
поделиться

Вам необходимо подключить отладчик напрямую к службам Windows. Это может вам помочь: http://msdn.microsoft.com/en-us/library/7a50syb3%28VS.80%29.aspx .

5
ответ дан 13 December 2019 в 19:30
поделиться

Вы хотите отладить метод OnStart? В таком случае вы можете использовать System.Diagnostics.Debugger.Launch () или метод System.Diagnostics.Debugger.Break () , чтобы получить возможность подключить отладчик во время работы метода при запуске, иначе вы всегда будете поздно подключать отладчик.

2
ответ дан 13 December 2019 в 19:30
поделиться

Думаю, предложение толстого кота подключить ваш отладчик к процессу службы звучит правильно. Если и это не помогает, попробуйте использовать Debug.WriteLine и DebugView .

2
ответ дан 13 December 2019 в 19:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: