2009-12-09 4 views
1

Я конвертирую программу Linux в программу Windows с помощью Visual Studio.NET 2003. Код был написан с использованием pthread.Идентификация потоков в VS .NET 2003

У меня есть First-chance exception at 0x100084c8 in project.exe: 0xC0000005: Access violation reading location 0x000001dc ошибку, вызывающие моя программа аварии и все, но один поток has exited with code 0 (0x0). Одна нити (0xfe4) завершался с кодом -1073741819 (0xc0000005). Я читал, что если потоки вышли с кодом 0, тогда все в порядке. Я предполагаю, что один поток не вызвал ошибку, особенно тот же код 0xC0000005.

Как есть группы потоков, выполняющих разные задачи, я хочу отследить поток, который не вышел правильно, чтобы отлаживать программу. Есть ли способ определить, какой поток он имеет, например, используя значение (0xfe4)?

ответ

1

Перейти к Debug-> Windows-> Темы в этом разделе.

Вы также можете перейти в Debug-> Exceptions ... Затем откройте дочернее дерево Win32 Exceptions и щелкните текстовое поле рядом с «c0000005 Нарушение доступа», и оно должно сломаться при нарушении.

0

Я нашел, что это полезно также назвать темы, чтобы сделать его легче отличить их в отладчике: При создании темы (используя Thread класс), вы можете установить Name свойство. Это имя будет отображаться при отладке в Visual Studio.

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