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

2 Kommentare

KALYAN ACHARJYA
KALYAN ACHARJYA am 26 Okt. 2017
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

Melden Sie sich an, um zu kommentieren.

 Akzeptierte Antwort

Edric Ellis
Edric Ellis am 30 Okt. 2017

1 Stimme

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.

Weitere Antworten (2)

NAGAVARSHINI MAYAKKANNAN
NAGAVARSHINI MAYAKKANNAN am 21 Jun. 2020

1 Stimme

Change the parfor to for debug it and then change for to parfor
zhehao.nkd
zhehao.nkd am 5 Aug. 2022

0 Stimmen

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

Kategorien

Mehr zu Loops and Conditional Statements finden Sie in Hilfe-Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by