Visual Studio шаг не возвращается - PullRequest
1 голос
/ 14 сентября 2009

У меня многопоточное приложение. Он также использует некоторый неуправляемый код, драйвер ODBC. Если я нахожусь в определенном потоке, иногда я нажимаю на шаг F10, но он не останавливается на следующей строке, программа работает так, как будто я нажал F5, чтобы продолжить. Есть идеи, почему это так?

Обновление 1

Когда я говорю, что программа запускается, я имею в виду поток, в котором я нахожусь. У меня есть один файл, который является сигнальным потоком. Я разбиваю C, нажимаю F10, и без всякого перерыва я получаю инструкции до Z.

Ответы [ 4 ]

4 голосов
/ 15 сентября 2009

Это ошибка в Visual Studio 2008. Она исправлена ​​ этим исправлением .

(У меня была такая же проблема. Сводила меня с ума.)

1 голос
/ 15 сентября 2009

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

1 голос
/ 14 сентября 2009

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

Вы можете попробовать прочитать ответы на этот вопрос Может содержать дополнительную полезную информацию.

1 голос
/ 14 сентября 2009

Одна возможность состоит в том, что поток, который вы отлаживали, продолжается (когда вы нажимаете F10) и блокирует / спит на чем-то внутри подпрограммы, прежде чем она вернется к вашей точке останова (то есть вашей «следующей» инструкции); и когда вы говорите "программа работает", может быть, это только другие запущенные потоки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...