dbstop doesn't stop if the line at which is supposed to stop is something like `'else'
조회 수: 3 (최근 30일)
이전 댓글 표시
If you save the code below to, say, mwe.m then at the command prompt type
dbstop in mwe at 4
then call the function, it will ignore the `else` line at which it is asked to stop, and continue on to the end. Is there a way to fix this problem, and make it stop at line 5 rather than 4?
function mwe
if 1 < 2;
disp('true');
else
disp('false');
end
disp('should not get to here');
댓글 수: 0
채택된 답변
Toder
2020년 5월 8일
편집: Toder
2020년 5월 8일
The if condition is true, so Matlab executes disp('true'); then jumps to end. Lines 4 and 5 are never executed because only one block of an if-statement is ever executed, and Matlab had already determined the first block would be executed. Try
function mwe
if 3 < 2
disp('true');
else
disp('false');
end
disp('should not get to here');
This stops at line 4 with the dbstop command you used.
댓글 수: 0
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Debugging and Analysis에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!