New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
debugger does not stop at postponed breakpoints #15773
Comments
From jkahrman@mathworks.comCreated by jkahrman@mathworks.comDebugger does not stop at postponed breakpoints in perl 5.20 Same behavior in perl5.20 from Debian 8 as perl 5.20 built from source. No http://www.perlmonks.com/?node_id=1176116 % perl -dwe0 main::(-e:1): 0 DB<2> b postpone File::Temp::new ########### UNEXPECTEDLY did not stop at File::Temp::new DB<5> b postpone File::Temp::new ########### UNEXPECTEDLY did not stop at File::Temp::new DB<7> B * ########### UNEXPECTEDLY did not stop at File::Temp::new DB<10> b File::Temp::new ########### STOPPED at File::Temp::new as EXPECTED Perl Info
|
From @jkeenanOn Fri, 16 Dec 2016 18:33:04 GMT, jkahrman@mathworks.com wrote:
Confirmed that problem exists in 5.24.0 as well. -- |
The RT System itself - Status changed from 'new' to 'open' |
From jkahrman@mathworks.comA co-worker had some time to investigate the issue and sent me the following. I haven't yet had time to investigate further. I think it may need this: --- perl-5.20.2/lib/5.20.2/perl5db.pl 2016-12-01 17:08:48.088626441 -0500 # Copy the breakpoint in and delete it from %postponed. With some printf-style debugging it seems the built-in DB::postponed() hook (described in perldebguts) is getting hit when the file is compiled, and the area of the code above is attempting to set the breakpoint. But then when DB::DB() is hit for that line, DB::_DB__determine_if_we_should_break() says "nope" because _is_breakpoint_enabled($filename, $line) said it was not enabled. This enabled-ness is implemented in $breakpoints_data{$filename}{$line}{enabled} = $bool. I suspect this is a new thing, and someone forgot to check whether new breakpoints were also being enabled everywhere they are being set. Which makes me wonder if this problem will show up in other constructs... |
From jkahrman@mathworks.comAfter further testing of the postponed feature with the fix and comparing to 5.8.8 behavior, I seem to have made a mistake in my recording of the expected behavior. While postponed breakpoints ARE broken in (at least) 5.20 and later, I was under the impression that they behaved like regular breakpoints when the file was already loaded. They do not, even in 5.8.8. So while my first test case IS a regression, my second and third test cases are not. |
From [Unknown Contact. See original ticket]After further testing of the postponed feature with the fix and comparing to 5.8.8 behavior, I seem to have made a mistake in my recording of the expected behavior. While postponed breakpoints ARE broken in (at least) 5.20 and later, I was under the impression that they behaved like regular breakpoints when the file was already loaded. They do not, even in 5.8.8. So while my first test case IS a regression, my second and third test cases are not. |
Migrated from rt.perl.org#130361 (status was 'open')
Searchable as RT130361$
The text was updated successfully, but these errors were encountered: