Можно ли в C или CPP определить время приостановки приложения в отладчике? - PullRequest
0 голосов
/ 30 марта 2020

Я работаю над приложением, которое выполняет множество вычислений, основанных на времени, в C ++, VS2019, Window 10. Время или, точнее, истекшее время, которое используется в приложении, рассчитывается на основе: (псевдокод ):

CurrentTimeStamp = QueryPerformanceCounter();
TimeDelta = CurrentTimeStamp - LastStoredTimeStamp;
LastStoredTimeStamp = CurrentTimeStamp;

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

Но есть ли способ сделать что-то вроде:

 CurrentTimeStamp = QueryPerformanceCounter();
 TimeDelta = CurrentTimeStamp - LastStoredTimeStamp - TIME_SPEND_IN_DEBUGGER;
 LastStoredTimeStamp = CurrentTimeStamp;

- или -

 TimeDelta = GetTimeSpendInRunningModeSinceLastCall();

Обратите внимание, что дельта времени в обычных операциях составляет порядка 10 мс. Таким образом, решение будет работать только для меня, когда я смогу получить точность в течение нескольких миллисекунд.

Заранее спасибо, Морис.

...