Программа и отладчик вышли без указания проблемы - PullRequest
25 голосов
/ 26 декабря 2010

ОК, не совсем гейзенбаг, но похожий по природе.

Я разрабатываю приложение WPF. При отладке логика достигает определенной точки, затем приложение закрывается без причины. Отладчик VS ничего не ловит, и единственное указание на проблему - это следующее в окне вывода:

Программа '[6228] SomeApp.vshost.exe: Managed (v4.0.30319)' завершила работу с кодом 1073741855 (0x4000001f).

При отладке версии выпуска или даже при запуске отладочной сборки из отладчика (на самом деле все комбинации, которые не запускают версию отладки в отладчике), все работает нормально.

Я пытаюсь перехватить необработанные исключения с помощью следующего кода:

        AppDomain
            .CurrentDomain
            .UnhandledException +=
            (sender, e) =>
            {
                Debug.WriteLine("Unhandled Exception " + e.ExceptionObject);
            };
        Application
            .Current
            .DispatcherUnhandledException +=
            (sender1, e1) =>
            {
                Debug.WriteLine("DispatcherUnhandledException " + e1.Exception);
            };

... но я ничего не ловлю.

Я собираюсь добавить в приложение операторы вывода отладки, но это очень асинхронно, поэтому чтение будет утомительным и утомительным.

Так скажи мне, если сможешь ... как мне начать понимать, что WTF происходит?

Ответы [ 6 ]

33 голосов
/ 26 декабря 2010

Согласно файлу ntstatus.h, 0x4000001f (STATUS_WX86_BREAKPOINT) является кодом состояния исключения, который используется подсистемой эмуляции Win32 x86. Это (я полагаю) означает, что вы достигли точки останова, которая не может быть использована. Вы должны включить отладку неуправляемого кода.

13 голосов
/ 13 сентября 2012

Используя Visual Studio 2012 (версия 11.0.50727.1 RTMREL), единственное решение, которое я нашел, это перейти в Project -> Properties -> Debug и отключить «Включить процесс размещения Visual Studio».

Параметр «Включить отладку собственного кода» не помог, хотя для всех исключений было установлено значение break-when-thrown.

Интересно, что эта проблема начала возникать только после того, как я обновил бета-версию VS2012 до официальной версии VS2012.

6 голосов
/ 02 марта 2015

У меня такая же ситуация с Visual Studio 2013. Как и у Рона Это сохранит Мой день: Проект -> Свойства -> Отладка и отключите «Включить процесс размещения Visual Studio».

Спасибо

1 голос
/ 24 марта 2015

Перезагрузка исправила проблему для меня.

Я столкнулся с проблемой при попытке выполнить отладку с помощью NUnit с помощью программы выполнения тестов Resharper, а также при попытке отдельно пройти процесс W3WP.exe.

0 голосов
/ 13 ноября 2018

Я получаю такое же поведение с FonstSize = "auto" (не знаю почему):

<TextBlock Text="{Binding DisplayText}" FontSize="auto"/>

Fix: <TextBlock Text="{Binding DisplayText}" />

Дополнительная ошибка вывода:

LS stop assert - tserrInternalError, file f: \ dd \ wpf \ src \ native \ ums \ shared \ inci \ tsoverflow.h, строка 66

Произошло необработанное исключение типа «System.Exception» в PresentationCore.dll Дополнительная информация.

0 голосов
/ 19 февраля 2015

У меня была такая же проблема.в моем случае я отметил, что у меня есть свойство с геттерами и сеттерами.Моя ошибка состояла в том, чтобы вернуть само свойство вместо связанного с ним атрибута, и это заставило отладчик перейти в бесконечный цикл, после исправления проблема была решена.Я получаю тот же код ошибки без дополнительной информации -

...