Udostępnij za pośrednictwem


Podczas wywoływania funkcji setki razy, w jaki sposób sprawdzić które wywołanie nie powiodło się?

Opis problemu

Program zatrzymuje się na wywołanie funkcji CnvtV.Program prawdopodobnie wywołuje tę funkcję kilka kilkaset razy zanim on zakończy się niepowodzeniem.Jeśli ustawić lokalizację punkt przerwania na CnvtV, program zatrzymuje się przy każdym wywołaniu tej funkcji, a nie ma.Nie wiem, co warunki spowodować wywołanie kończy się niepowodzeniem, więc nie można ustawić punkt przerwania warunkowe.Co można zrobić?

Roztwór

Punkt przerwania można ustawić na funkcji z Hit Count pola na wartość tak wysoki, że nigdy nie zostanie ona podjęta.W tym przypadku ponieważ uważają funkcji CnvtV nazywa się kilka kilkaset razy, można ustawić Hit Count do 1000 lub więcej.Następnie uruchom program i oczekiwania na wywołanie kończy się niepowodzeniem.Gdy zakończy się niepowodzeniem, Otwórz okno punktów przerwania i obejrzeć listę punktów przerwania.Punkt przerwania ustawiony na CnvtV jest wyświetlany, następuje licznika trafień i liczba iteracji, pozostałe:

CnvtV(int) (no condition) when hit count is equal to 1000 (currently 101)

Obecnie wiadomo, że funkcji nie powiodło się wywołanie 101.Jeśli zresetować przerwania z licznik trafień 101 i ponownie uruchomić program, program zatrzymuje się w wywołaniu CnvtV , który powoduje awarię.

Zobacz też

Koncepcje

Często zadawane pytania dotyczące kodu macierzystego debugowania

Inne zasoby

Setting Breakpoints

Debugowanie kodu macierzystego