When I insert breakpoints inside a parfor loop it is never stopped. In this case how can I debug inside a parfor loop?

댓글 수: 2

KALYAN ACHARJYA
KALYAN ACHARJYA 2017년 10월 26일
Please show your code, have you use break statement within parfor loop with a condition?
Check it out, it may be helpful
https://in.mathworks.com/matlabcentral/answers/4942-break-in-a-parfor-loop-processing-time-example-to-compare-it-with-a-for-loop

댓글을 달려면 로그인하십시오.

 채택된 답변

Edric Ellis
Edric Ellis 2017년 10월 30일

1 개 추천

You can debug code called from the body of a parfor loop if no parallel pool is open, but unfortunately you cannot debug the body of a parfor loop itself. You can force the parfor loop to run in the desktop MATLAB by appending the optional "number of workers" argument, like so:
parfor (idx = 1:10, 0)
out(idx) = myFcn(idx);
end
With that code, you can set breakpoints inside myFcn.

추가 답변 (2개)

NAGAVARSHINI MAYAKKANNAN
NAGAVARSHINI MAYAKKANNAN 2020년 6월 21일

1 개 추천

Change the parfor to for debug it and then change for to parfor
zhehao.nkd
zhehao.nkd 2022년 8월 5일

0 개 추천

For those who are seeking for the solution, there is another possible option by using parfor and try-catch:
parfor k = 1: len
try
% your code
catch ME
% record the iteration index,k
end
end
% Then youy know which iteration caused a bug alert

카테고리

도움말 센터File Exchange에서 Parallel for-Loops (parfor)에 대해 자세히 알아보기

질문:

2017년 10월 26일

답변:

2022년 8월 5일

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by