Отладка потоков C#

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

"Изучают C", любой ценой, но не делают не, придерживаются его слишком долго. Другие языки намного более продуктивны.

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

Узнает, что, и затем идут дальше.

5
задан Gavin Miller 6 May 2011 в 18:40
поделиться

6 ответов

В качестве альтернативы отладке вы можете выполнять тестирование, связанное с потоками. В книге Искусство модульного тестирования есть раздел об этом в Приложении B. Автор упоминает три инструмента (два из которых он лично интересует):

1
ответ дан 14 December 2019 в 08:55
поделиться

Visual Studio можно использовать для установки точек останова в определенных потоках. См. здесь и здесь , чтобы узнать, как это сделать.

1
ответ дан 14 December 2019 в 08:55
поделиться

Если у вас есть несколько потоков одного типа *, вы можете изменить свой код, чтобы запускать только один поток каждого типа (или, возможно, поместите его в файл конфигурации приложения, чтобы вы могли быстро изменить его во время отладки).

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

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

1
ответ дан 14 December 2019 в 08:55
поделиться

Как вы определяете ненормальное поведение? Будет ли это исключение? Не уверен, что это поможет вам, но то, что я часто делаю, - это имя объекта потока при его создании, а затем, если я поймаю исключение или если существуют определенные критерии, я записываю в журнал событий. Я включаю время, имя приложения, имя потока и информацию об исключении. Я не просто использую его для отладки, я использую его, если пользователь жалуется на странное поведение или сообщает об ошибке. Тогда я смогу вернуться и получить информацию об этом.

1
ответ дан 14 December 2019 в 08:55
поделиться

Это зависит от того, что вы подразумеваете под «ненормальным поведением» ...

в большинстве случаев отладчика Visual Studio должно быть достаточно. окна Threads и CallStack предоставят вам много информации о том, что происходит.

для тяжелых вещей вы можете использовать WinDbg + SOS. прочтите о командах! thread,! threadpool и! runaway.

1
ответ дан 14 December 2019 в 08:55
поделиться
Другие вопросы по тегам:

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