Лучшие способы отладить приложение режима выпуска

Когда форма отправлена:

  • document.activeElement предоставит вам кнопку отправки, которая была нажата.
  • document.activeElement.getAttribute('value') предоставит вам эту кнопку.
7
задан travis 29 August 2008 в 01:41
поделиться

9 ответов

Удостоверьтесь, что Вы имеете хорошие отладочные символы в наличии (можно сделать это даже со сборкой конечных версий, даже на встроенных устройствах). Необходимо смочь получить отслеживание стека и надо надеяться значения некоторых переменных. Хорошее знание ассемблера, вероятно, также полезно в этой точке.

Мой опыт состоит в том, что обычно ошибка связана для кодирования, который является около области поломки. То есть, если Вы видите, что проблема возникает в функции "LoadConfigInfoFromFile" затем, вероятно, необходимо запустить путем близкого анализа этого для проблем, а не "DrawControlsOnScreen", если Вы понимаете, о чем я. "Жуткое действие на расстоянии" ошибки типа не имеют тенденцию возникать часто (хотя, когда они делают, они имеют тенденцию быть основным переносом).

3
ответ дан 7 December 2019 в 12:27
поделиться

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

0
ответ дан 7 December 2019 в 12:27
поделиться

Я договариваюсь об отладке файла журнала для сужения его.

Я использовал "Ввод FunctionName" "Отъезд FunctionName", пока я не могу найти, какой метод он вводит перед катастрофическим отказом. Затем я добавляю, что больше сообщений журнала перекомпилировало и повторно выпускает.

0
ответ дан 7 December 2019 в 12:27
поделиться

Хотя это, вероятно, не применимо во встроенной среде, мне везло с WinDbg для отладки Приложений Windows режима выпуска. Даже если приложение не компилируется с информацией о символе, можно, по крайней мере, получить применимое отслеживание стека и много другой полезной информации о катастрофическом отказе.

0
ответ дан 7 December 2019 в 12:27
поделиться

Вы могли также скопировать свои отладочные символы в продуктивную среду, даже если она компилируется в, повторно генерируют режим

Вот статья с большей информацией

0
ответ дан 7 December 2019 в 12:27
поделиться

Как насчет того, чтобы использовать операторы Trace. Они там для проверки значения режима Release.

Trace.WriteLine(myVar);
0
ответ дан 7 December 2019 в 12:27
поделиться

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

0
ответ дан 7 December 2019 в 12:27
поделиться

Помимо проигрывания с выключением оптимизации и/или отладочной информации включения для Вашей Сборки конечных версий, поскольку сказал pauldoo, файл журнала будет, хорошие данные могут действительно помочь. Я однажды записал приложение "трассировки", которое получит журналы трассировки для приложения, если бы оно работало, когда сборка конечных версий запустилась (иначе, результаты перешли бы к окну вывода отладчика при выполнении под отладчиком). Я смог иметь конечных пользователей, посылают мне по электронной почте файлы журнала от них воспроизводящий ошибки, которые они видели, и это был единственный способ, которым я найду проблему по крайней мере в одном случае.

0
ответ дан 7 December 2019 в 12:27
поделиться

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

Поскольку релизные сборки сильно оптимизированы по сравнению с отладочными, то способ компиляции кода влияет на его поведение. Это в основном верно, когда сбои в многопоточном коде происходят в версии выпуска, но не в версии отладки. adplus и windbg помогли мне выяснить, где это произошло.

ADPlus объясняется здесь: httx: //support.microsoft.com/? scid = kb% 3Ben-us% 3B286350 & x = 15 & y = 12

В основном вам нужно сделать следующее: 1. Загрузите и установите WinDbg в папку C: \ debuggers. httx: //www.microsoft.com/whdc/devtools/debugging/default.mspx

  1. Запустите приложение

  2. откройте cmd и cd в c: \ debuggers

  3. запустите adplus следующим образом:

" adplus.bat -crash your_exe.exe "

  1. воспроизвести сбой

  2. проанализировать аварийный дамп в vs2005 или windbg

2
ответ дан 7 December 2019 в 12:27
поделиться
Другие вопросы по тегам:

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