3

런타임에 JavaScript 실행 추적에 액세스하는 방법을 알고 싶습니다. 나는 방화범이 같은 뭔가를 할 수 보았다Firefox에서 런타임에 JavaScript 실행 추적에 액세스하는 방법은 무엇입니까?

enter image description here

은 위의 이미지를 참조, 실행되는 모든 행 번호는 녹색으로 강조 표시되어 있습니다. 그것들은 런타임에 달성됩니다. 브라우저에서 사용하는 JavaScript 엔진에서 해당 정보에 액세스 할 수있는 방법이 있어야합니다.

이제 정보에 액세스하고 런타임에 실행 된 각 행의 모든 ​​변수를 검사하기 위해 방화 광 플러그인을 구축하고 싶습니다. 어떻게 시작해야합니까?

+0

이는 불을 지르고에서이 아니다. 그것은 어떤 실행을 가진 라인에서만 녹색 라인을 보여줍니다 (따라서 중괄호'{}'제외). 행이 실행되지 않을 수 있습니다. 실행 추적을 표시하지 않습니다. 'if() {else {}'를 코드에 넣고 녹색 줄이있는 코드에 두 블록을 모두 표시합니다. – nefarianblack

+0

@tanmaykhandelwal 감사하지만 사실이 아닙니다. 내 업데이트 된 스크린 샷을 참조하십시오. 고맙습니다. – Fshly

+0

어떤 버전의 방화범이 끌리고 있습니까? 나는 1.11.2를 가지고 있는데'if (false) {'라인에 녹색 라인 번호를 보여준다. if 문의 거짓 조건에 실행 라인을 추가 할 수 있습니까? 이렇게 : 'if (false) {var a = '1';} else {var b = '2';}' – nefarianblack

답변

1

분명히 Firebug 포럼의 same question에 질문했습니다.

는 Honza의 답변을 복제하려면 :

방화범 현재 라인이 실행 가능 , 알아 내기 위해 JSD (jsdIDebuggerService)를 사용하고 있습니다. 그러나, 계획은 JSD2

디버거 문서에 getLineOffsets(line)getOffsetLine(offset)에 대한

봐에 https://wiki.mozilla.org/Debugger

당신은 또한 당신의 확장을 기반으로한다 JSD2 (진행중인 작업 )로 전환하는 것입니다. 나는 그것을 테스트하지 않았지만 getLineOffset 이 null을 반환하면 그 라인은 실행 가능하지 않다고 생각한다.

세바스찬