2009-03-12 2 views
0

Visual Studio의 Tracepoint 기능을 사용하여 디버그 메시지를 출력하는 방법을 배우고 나서 JavaScript 파일에서 작동하는지 궁금해했습니다. 지금까지는 그렇지 않으며 그렇지 않습니다.Visual Studio 2008 Tracepoint에서 JavaScript 변수를 인쇄 할 수 있습니까?

VS 2008에서 .js 파일을 편집 할 때 여백을 클릭하여 중단 점을 만들 수 있습니다. 그런 다음 중단 점을 마우스 오른쪽 단추로 클릭하고 "When Hit"를 선택하면 대화 상자가 나타나 동작을 정의합니다.

"메시지 인쇄"및 "계속 실행"을 선택합니다. 이렇게하면 중단 점이 추적 점이되고 ASP.Net 프로그램이 디버그에서 실행 중일 때 메시지가 출력 창에 인쇄됩니다.

이것은 그 자체로 매우 멋지다. 그러나 C# 코드에서는 {}로 묶어 인쇄 된 메시지에 변수를 넣을 수 있습니다. 그래서 "Function $ FUNCTION에서 x = {x}"라고 말할 수 있습니다. JavaScript 추적 점을 사용하여이 작업을 수행하려고 할 때 대괄호에 무엇을 넣든 상관없이 "변수이 정의되지 않았습니다"라고 표시됩니다.

JavaScript 트레이스 포인트에서 "현재 위치"유형의 메시지 이외의 의미있는 정보를 인쇄 할 수있는 방법이 있습니까?

내 의도는 출력 콘솔에 디버그로 인쇄되지만 릴리스에 대해 주석 처리 할 필요가없는 타이밍 코드를 넣는 것이 었습니다.

적어도 자바 스크립트를 지원합니다. 왜냐하면 함수 이름에 $ FUNCTION 같은 내장 변수를 사용하기 때문입니다. 실제로 저는 $ FUNCTION에 대해 "JScript 익명 함수"를 인쇄 할 수있게되었지만 익명의 함수였습니다. $ TIMESTAMP가 있다면 좋은 모양이 될 것입니다.

답변

0

$ TIMESTAMP가 없지만 $ TICK가 있습니다. 그것은 16 진수로 밀리 초 수 '틱'을 인쇄, 그래서 다음과 같습니다

Document Ready Start - 0x890A27 
Document Ready End - 0x890E7C 

그래서 약간의 계산 작업이 둘 사이의 차이를 알아낼 수 있습니다. 아직

하지만 자바 스크립트 변수를 평가하는 방법을 모른다 ...

UPDATE :

그것은 당신이 실제로 코드에 물건을 추가하지 않기 때문에 (트레이스를 사용하는 것만 큼 좋은하지 않습니다 그 (것)들을 위해), 그러나 Sys.Debug.trace()는 나가 타이밍 코드 단면도까지 원하는 무슨을한다.