Каков самый быстрый способ изолировать источник ошибки среди списка потенциальных источников? - PullRequest
0 голосов
/ 17 сентября 2010

Каков самый быстрый способ выделить источник ошибки среди упорядоченного списка потенциальных источников?Например, учитывая список сопоставлений столбцов и одно из этих сопоставлений столбцов неверно, какой метод отладки позволит вам наиболее быстро определить, какое сопоставление недопустимо?(Под самым быстрым я имею в виду, какой подход потребовал бы наименьшего количества циклов компиляции, загрузки и выполнения?)

Предположим, что какое бы сообщение об ошибке не генерировало база данных или драйвер базы данных, не будет указано имя ошибочного столбца.Звучит знакомо?

Подсказка:

Техника похожа на ту, которую вы могли бы использовать, чтобы ответить на вопрос: «Какое число я имею в виду от 1 до 1000?", но с наименьшим количеством догадок.

Ответы [ 3 ]

1 голос
/ 17 сентября 2010

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

0 голосов
/ 17 сентября 2010

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

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

Тривиальный пример: если у меня есть строка X, которая не будет вставлена ​​в базу данных, но я знаю, что строка Y будет,Затем я возьму строку Y и изменю по одному полю за раз и буду вставлять до тех пор, пока значения строки Y не будут равны значению строки X.

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

Ты человек ... будь более упрямым, чем компьютер!

0 голосов
/ 17 сентября 2010

Звучит знакомо, но я не хочу быть тем, кто скажет вам, что не существует "быстрого" способа изолировать источники ошибок.По своему опыту я знаю, что вы хотите быть абсолютно уверенным, что нашли правильный источник ошибки, прежде чем приступать к ее устранению, а это требует большого количества тестирования и трассировки.

...