2015-08-04 2 views
3

Когда я запускаю мое приложение командной строки внутри Visual Studio, одна команда всегда терпит неудачу с ниже ошибки:при запуске приложения с помощью Visual Studio

The program '[7316] MyProgram.vshost.exe' has exited with code -1073741819 (0xc0000005) 'Access violation'. 

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

В проекте используется сторонняя dll, которая, в свою очередь, AFAIK вызывает C или C++ dll, например. что-то не закодированное в .Net.

Мои вопросы: Можно ли проигнорировать эту ошибку, так как приложение прекрасно работает при построении? Если нет, что может быть потенциальной проблемой и как я могу ее решить?

+3

Никто не может спокойно ответить на этот вопрос, не зная * почему * нарушение прав доступа происходит в первую очередь. Возможно, что dll ** только ** сбой при подключении отладчика, но, не зная этих обстоятельств, никто не может сказать «да» или «нет», не догадываясь. –

+0

* приложение прекрасно работает при построении * - так что вы сделали тестирование. Поэтому вы можете игнорировать. – Sinatr

ответ

2

Can I ignore this error since the app works fine when built?

Я не стал бы игнорировать проблему. Если ваше приложение не работает во время закрытия, возможно, что-то не так в том, что он разрушает объекты и возвращает дескрипторы Windows (скорее всего, последние). В конечном итоге это может привести к созданию сценария производства.

If not, what could be the potential issue and how can I solve it?

Как уже было сказано, я думаю, что выпускные ручки - это проблема. Если вы используете стороннюю DLL, написанную на C++, возможно, проблема. Попробуйте настроить некоторые протоколирования и посмотреть, что такое трассировка стека исключения. Это может дать вам представление о причинах проблемы. Возможно, это даже проблема, которую вы можете сообщить поставщику DLL.

Смежные вопросы