2015-01-20 10 views
0

У меня есть вопрос. Иногда возникают некоторые побочные ошибки. Один из способов помочь в решении этого типа ошибок, есть хороший инструмент, называемый sxstrace.exe.C#, sxstrace и визуальная студия

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

Но у меня есть одна проблема. Когда я запускаю процесс с помощью sxstrace.exe в C# и запускаю свою программу (TestProgram.exe) с отказом манифеста, sxstrace.exe не будет отслеживать какие-либо ошибки. Запустив sxstrace.exe из оболочки, он будет отслеживать все ошибки.

Возникает вопрос: почему? Как запустить sxstrace.exe с C#, чтобы он отслеживал все ошибки?

EDIT: Поскольку C# -программа (которая запускает процесс sxstrace), начинается с прав администратора, я полагаю, что процесс sxstrace также начинается с прав администратора.

+0

Мне любопытно, почему вы считаете, что вам нужен сторонний инструмент для получения StackTrace .. когда .Net Framework позволяет вам разоблачить это. [C# MSDN StackTrace Class] (http://msdn.microsoft.com/ru -us/library/system.diagnostics.stacktrace% 28v = vs.110% 29.aspx) – MethodMan

+2

Сначала зайдите в журнал событий приложения Windows, sxstrace.exe не имеет много интересных функций, выходящих за рамки этого. –

+0

Какую линию cmd вы используете для запуска sxsrace? – Eugene

ответ

-1

ОК, вот ответ на мой вопрос: В моем C# -коде я вызвал свой TestProgram.exe (который имеет Side-by-Side-Error) с свойством UseShellExecute = false. Мне пришлось изменить его на true.