javascript breakpoint continues to move to another breakpoint position regardless of de-activating it.
Reported by
williamh...@gmail.com,
Dec 21 2016
|
|||||||
Issue descriptionUserAgent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36 Steps to reproduce the problem: 1. Inspect element in a typescript function. Not sure how else to reproduce this issue for you. Attempting to attached a screenshot video so you can understand the behavior What is the expected behavior? when I click on a line number within a *.ts file I would expect it to put a breakpoint their as normal. What went wrong? Instead it is not putting the breakpoint and re-establishing an old breakpoint somewhere else in the function that I had set previously. Even after eliminating the original breakpoint it keeps bringing back from the grave! ARGGG Did this work before? N/A Chrome version: 54.0.2840.99 Channel: n/a OS Version: 6.1 (Windows 7, Windows Server 2008 R2) Flash Version: Shockwave Flash 23.0 r0 I captured the user behavior as a video using the Nimbus Chrome Extension
,
Dec 23 2016
williamhowley@ - Thanks for filing this issue...!! Could you please provide a sample URL to test this issue. This will help us in triaging the issue further. Thanks...!!
,
Dec 23 2016
Setup was local. I know in typescript, you are not able to inspect async functions but this was a normal one. I'm not sure how you guys would debug this :/ if I see it again I'll try and find more info on it.
,
Dec 30 2016
Thank you for providing more feedback. Adding requester "krajshree@chromium.org" for another review and adding "Needs-Review" label for tracking. For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
,
Jan 2 2017
,
Jan 4 2017
Reporter@ could you please provide a sample URL to test the issue. It would help us in triaging the issue further. Thanks..
,
Jan 9 2017
Could be a source mapping issue. Could you please provide a source map file?
,
Mar 14 2017
I'm not sure about this exact issue, but I have to say setting breakpoints now is a very random thing. some lines don't accept breakpoints (and they are not empty or var definitions etc.), sometimes they jump (one line, end of file or function), sometimes they are hidden (they break but no stars visible) and now with 57 on mac they are shifted (the yellow marker is in the correct line but it looks like the previous line is the currently executing one) I know I need to break this into different issues with more details but I just wanted to give feedback for the past months of using breakpoints (with and without source maps). I just want a yellow marker where i click, nothing more, nothing less! if I can't break on a line, gray it out and that's it. I hope someone out there can make breakpoints great again :D
,
Apr 11 2017
I have more information on this, or at least something similar. Consider the following Typescript program.
class Thing {
key: Object;
}
class SomeClass {
renderValue(value) { return value.hashCode.toString(); };
onDestroy() {
console.log('destroyed');
}
}
Compile and serve this with sourcemaps and attempt to set a breakpoint on renderValue. It ends up setting it on the code line in onDestroy.
This is specific to the function being on a single line. What happens is that it ends up calling into uiLocationToRawLocation and that calls firstSourceLineMapping, passing only the line number. As a result it finds the first possible breakpoint on the line, which is the beginning of the function, and (hand-waving) the agent doesn't like that position and picks something else. Here's the stack trace getting to uiLocationToRawLocation, from Chrome 57.0.2987.133 on Mac.
uiLocationToRawLocation (inspector.js:formatted:36950)
_uiLocationToRawLocation (inspector.js:formatted:37968)
uiLocationToRawLocation (inspector.js:formatted:37843)
normalizeUILocation (inspector.js:formatted:37858)
setBreakpoint (inspector.js:formatted:38204)
_setBreakpoint (sources_module.js:532)
setBreakpoint (sources_module.js:527)
Promise.resolve (async)
checkNextLineIfNeeded (sources_module.js:524)
Promise.resolve (async)
checkErrorAndReturn (inspector.js:formatted:28033)
callback (inspector.js:formatted:19839)
dispatchResponse (inspector.js:formatted:19862)
_onMessage (inspector.js:formatted:19686)
_dispatchMessage (inspector.js:formatted:23134)
dispatchEventToListeners (inspector.js:formatted:5433)
innerDispatch (inspector.js:formatted:8260)
_dispatch (inspector.js:formatted:8256)
_dispatchOnInspectorFrontendAPI (devtools_compatibility.js:57)
dispatchMessage (devtools_compatibility.js:133)
(anonymous) (VM250:1)
,
Apr 11 2017
I should add that I think this may be due to changes introduced in https://codereview.chromium.org/2484283004 , at least it's the thing that seems to have introduced some of the relevant code.
,
Apr 11 2017
I also note that this is a regression, since the example works fine in Chromium 45.0.2454.104, which I happen to have handy.
,
Oct 12 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/4b215935dccf392557df907d8eb68f06edc1a227 commit 4b215935dccf392557df907d8eb68f06edc1a227 Author: Alexey Kozyatinskiy <kozyatinskiy@chromium.org> Date: Thu Oct 12 06:26:32 2017 [DevTools] use end line position to request possible breakpoints Currently we use first char in next line, it regressed breakpoints in files from source map. TBR=lushnikov@chromium.org Bug: chromium:676388 , chromium:760229 , chromium:761263 Change-Id: I10e83ff96fcda6aae77515003ae1d0cdf993ee84 Reviewed-on: https://chromium-review.googlesource.com/714436 Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Reviewed-by: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Cr-Commit-Position: refs/heads/master@{#508267} [add] https://crrev.com/4b215935dccf392557df907d8eb68f06edc1a227/third_party/WebKit/LayoutTests/http/tests/devtools/sources/debugger-breakpoints/breakpoint-with-sourcemap-expected.txt [add] https://crrev.com/4b215935dccf392557df907d8eb68f06edc1a227/third_party/WebKit/LayoutTests/http/tests/devtools/sources/debugger-breakpoints/breakpoint-with-sourcemap.js [modify] https://crrev.com/4b215935dccf392557df907d8eb68f06edc1a227/third_party/WebKit/Source/devtools/front_end/sources/JavaScriptSourceFrame.js
,
Oct 13 2017
I hope thins one will be fixed in next Canary release. Feel free to reopen it if it's still an issue. |
|||||||
►
Sign in to add a comment |
|||||||
Comment 1 by nyerramilli@chromium.org
, Dec 22 2016