ใน Firefox ฉันสามารถติดตามสแต็กของข้อยกเว้นได้โดยใช้exception.stack
.
มีวิธีรับสิ่งนั้นในเบราว์เซอร์อื่นด้วยหรือไม่?
แก้ไข:ฉันต้องการบันทึกการติดตามสแต็กโดยอัตโนมัติ (ถ้าเป็นไปได้) และไม่ดีบักในเวลานั้น (เช่นฉันรู้วิธีรับสแต็กแทร็กในดีบักเกอร์)
ใน Firefox ฉันสามารถติดตามสแต็กของข้อยกเว้นได้โดยใช้exception.stack
.
มีวิธีรับสิ่งนั้นในเบราว์เซอร์อื่นด้วยหรือไม่?
แก้ไข:ฉันต้องการบันทึกการติดตามสแต็กโดยอัตโนมัติ (ถ้าเป็นไปได้) และไม่ดีบักในเวลานั้น (เช่นฉันรู้วิธีรับสแต็กแทร็กในดีบักเกอร์)
คำตอบ:
Place this line where you want to print the stack trace:
console.log(new Error().stack);
Note: tested by me on Chrome 24 and Firefox 18
May be worth taking a look at this tool as well.
Error: ReferenceError: fdasmkl is not defined at <anonymous>:6:7
แทน"Error: ReferenceError: fdasmkl is not defined at eval (eval at <anonymous> (:6:1), <anonymous>:1:1) at <anonymous>:6:1"
function foo() { fdasmkl } try { foo() } catch(e) { console.log(e.stack) }
ทันที
ขณะนี้ Webkit มีฟังก์ชันที่มีสแต็กเทรซ:
Web Inspector: การทำความเข้าใจ Stack Tracesโพสต์โดย Yury Semikhatsky ในวันพุธที่ 20 เมษายน 2554 เวลา 7:32 น. (webkit.org)
จากโพสต์นั้น:
หากคุณต้องการติดตามสตริงกองฉันไปกับคำตอบของ insin: stacktrace.js หากคุณต้องการเข้าถึงส่วนต่างๆของ stacktrace (หมายเลขบรรทัดชื่อไฟล์ ฯลฯ ) stackinfoซึ่งจริงๆแล้วใช้ stacktrace.js ภายใต้ประทุน
ไม่จริงอย่างน้อยก็ไม่ง่าย
ใน IE คุณสามารถดีบักกระบวนการเบราว์เซอร์ด้วย MS Script Debugger (ซึ่งด้วยเหตุผลบางประการคือส่วนประกอบของ Office) หรือ Visual Studio จากนั้นคุณจะเห็นสแตกบนเบรกพอยต์
คุณต้องลองTraceKitไลบรารีโอเพนซอร์สที่ดีซึ่งพยายามสร้างสแต็กเทรซสำหรับข้อยกเว้น JavaScript ที่ไม่ได้จัดการในเบราว์เซอร์หลักทั้งหมด คุณสามารถอ่านเพิ่มเติมเกี่ยวกับ Tracekit
https://github.com/csnover/TraceKit/
PS : หากคุณกำลังมองหาบริการ (โดยใช้ Tracekit) ที่มี UI ที่ดีคุณสามารถลองAtatus