Trong quá trình phát triển phần mềm, lỗi là điều không thể tránh khỏi - và khi chúng xảy ra, stack trace (dấu vết ngăn xếp) chính là “bản đồ” giúp lập trình viên lần theo nguồn gốc vấn đề. Tuy nhiên, với các hệ thống phức tạp, stack trace thường dài, rối và khó hiểu, đặc biệt khi liên quan đến nhiều lớp, framework hoặc thư viện bên ngoài. Đây chính là lúc prompt phân tích stack trace trở thành một công cụ mạnh mẽ.
Bài viết này tập trung vào việc xây dựng các prompt giúp AI hoặc công cụ hỗ trợ lập trình đọc, diễn giải và phân tích stack trace một cách có hệ thống. Thay vì chỉ nhìn vào dòng lỗi cuối cùng, prompt tốt sẽ hướng dẫn phân tích từ nguyên nhân gốc (root cause), xác định luồng thực thi, chỉ ra các điểm bất thường, và đề xuất hướng khắc phục cụ thể.
Việc sử dụng prompt đúng cách không chỉ giúp rút ngắn thời gian debug, mà còn nâng cao khả năng hiểu sâu về hệ thống, đặc biệt khi làm việc với code legacy hoặc dự án lớn. Đây là một kỹ năng ngày càng quan trọng trong bối cảnh lập trình hiện đại, nơi tốc độ xử lý sự cố và độ chính xác đóng vai trò then chốt.
Prompt phân tích dấu vết ngăn xếp (stack trace)
Phân tích dấu vết ngăn xếp này và giúp tôi khắc phục sự cố:
[DÁN TOÀN BỘ DẤU VẾT NGĂN XẾP]
Ngữ cảnh:
- Khi nào nó xảy ra: [MÔ TẢ TÌNH HUỐNG]
- Những thay đổi gần đây: [NHỮNG GÌ BẠN ĐÃ THAY ĐỔI]
- Môi trường: [Dev/Staging/Production]
Cung cấp:
1. Giải thích dấu vết ngăn xếp từng dòng
2. Xác định nguyên nhân gốc
3. Cách khắc phục
4. Chiến lược phòng ngừa
Phù hợp nhất cho: GPT-5, Claude 4 Sonnet
Cách sử dụng prompt mẫu
- Stack trace (Node.js / JavaScript) được dùng làm ví dụ
Error: Cannot read properties of undefined (reading 'price')
at calculateTotal (C:\project\services\orderService.js:42:25)
at processOrder (C:\project\services\orderService.js:27:15)
at async createOrder (C:\project\controllers\orderController.js:18:5)
at async Layer.handle [as handle_request] (C:\project\node_modules\express\lib\router\layer.js:95:5)
at async next (C:\project\node_modules\express\lib\router\route.js:144:13)
at async Route.dispatch (C:\project\node_modules\express\lib\router\route.js:114:3)
at async Layer.handle [as handle_request] (C:\project\node_modules\express\lib\router\layer.js:95:5)
at async C:\project\node_modules\express\lib\router\index.js:284:15
at async Function.process_params (C:\project\node_modules\express\lib\router\index.js:346:12)
at async next (C:\project\node_modules\express\lib\router\index.js:280:10)
- Tình huống được mô tả là: Lỗi xảy ra trong quá trình tạo đơn hàng, cụ thể:
- Khi API createOrder được gọi (thường là từ request HTTP)
- Trong lúc processOrder xử lý logic
- Và crash tại calculateTotal khi tính tổng tiền
- Những thay đổi gần đây:
- Thay đổi cấu trúc dữ liệu đầu vào
- Thay đổi logic mapping / transform
- Thay đổi ở database hoặc service khác
- Thiếu validate
- Môi trường: Dev
Kết quả prompt mẫu được thực hiện bằng GPT-5
Phân tích dấu vết ngăn xếp này và giúp tôi khắc phục sự cố:
Error: Cannot read properties of undefined (reading 'price')
at calculateTotal (C:\project\services\orderService.js:42:25)
at processOrder (C:\project\services\orderService.js:27:15)
at async createOrder (C:\project\controllers\orderController.js:18:5)
at async Layer.handle [as handle_request] (C:\project\node_modules\express\lib\router\layer.js:95:5)
at async next (C:\project\node_modules\express\lib\router\route.js:144:13)
at async Route.dispatch (C:\project\node_modules\express\lib\router\route.js:114:3)
at async Layer.handle [as handle_request] (C:\project\node_modules\express\lib\router\layer.js:95:5)
at async C:\project\node_modules\express\lib\router\index.js:284:15
at async Function.process_params (C:\project\node_modules\express\lib\router\index.js:346:12)
at async next (C:\project\node_modules\express\lib\router\index.js:280:10)
Ngữ cảnh:
- Khi nào nó xảy ra: Lỗi xảy ra trong quá trình tạo đơn hàng, cụ thể:
Khi API createOrder được gọi (thường là từ request HTTP)
Trong lúc processOrder xử lý logic
Và crash tại calculateTotal khi tính tổng tiền
- Những thay đổi gần đây:
Thay đổi cấu trúc dữ liệu đầu vào
Thay đổi logic mapping / transform
Thay đổi ở database hoặc service khác
Thiếu validate
- Môi trường: Dev
Cung cấp:
1. Giải thích dấu vết ngăn xếp từng dòng
2. Xác định nguyên nhân gốc
3. Cách khắc phục
4. Chiến lược phòng ngừa
=============================
TƯ VẤN:
Click Here hoặc Hotline/Zalo 090.29.12.888
=============================
Website không chứa bất kỳ quảng cáo nào, mọi đóng góp để duy trì phát triển cho website (donation) xin vui lòng gửi về STK 90.2142.8888 - Ngân hàng Vietcombank Thăng Long - TRAN VAN BINH
=============================
Nếu bạn không muốn bị AI thay thế và tiết kiệm 3-5 NĂM trên con đường trở thành DBA chuyên nghiệp hay làm chủ Database thì hãy đăng ký ngay KHOÁ HỌC ORACLE DATABASE A-Z ENTERPRISE, được Coaching trực tiếp từ tôi với toàn bộ bí kíp thực chiến, thủ tục, quy trình của gần 20 năm kinh nghiệm (mà bạn sẽ KHÔNG THỂ tìm kiếm trên Internet/Google) từ đó giúp bạn dễ dàng quản trị mọi hệ thống Core tại Việt Nam và trên thế giới, đỗ OCP.
- CÁCH ĐĂNG KÝ: Gõ (.) hoặc để lại số điện thoại hoặc inbox
https://m.me/tranvanbinh.vn hoặc Hotline/Zalo 090.29.12.888
- Chi tiết tham khảo:
https://bit.ly/oaz_w
=============================
2 khóa học online qua video giúp bạn nhanh chóng có những kiến thức nền tảng về Linux, Oracle, học mọi nơi, chỉ cần có Internet/4G:
- Oracle cơ bản:
https://bit.ly/admin_1200
- Linux:
https://bit.ly/linux_1200
=============================
KẾT NỐI VỚI CHUYÊN GIA TRẦN VĂN BÌNH:
📧 Mail: binhoracle@gmail.com
☎️ Mobile/Zalo: 0902912888
👨 Facebook:
https://www.facebook.com/BinhOracleMaster
👨 Inbox Messenger:
https://m.me/101036604657441 (profile)
👨 Fanpage:
https://www.facebook.com/tranvanbinh.vn
👨 Inbox Fanpage:
https://m.me/tranvanbinh.vn
👨👩 Group FB:
https://www.facebook.com/groups/DBAVietNam
👨 Website:
https://www.tranvanbinh.vn
👨 Blogger:
https://tranvanbinhmaster.blogspot.com
🎬 Youtube:
https://www.youtube.com/@binhguru
👨 Tiktok:
https://www.tiktok.com/@binhguru
👨 Linkin:
https://www.linkedin.com/in/binhoracle
👨 Twitter:
https://twitter.com/binhguru
👨 Podcast:
https://www.podbean.com/pu/pbblog-eskre-5f82d6
👨 Địa chỉ: Tòa nhà Sun Square - 21 Lê Đức Thọ - Phường Mỹ Đình 1 - Quận Nam Từ Liêm - TP.Hà Nội
=============================
cơ sở dữ liệu, cơ sở dữ liệu quốc gia, database, AI, trí tuệ nhân tạo, artificial intelligence, machine learning, deep learning, LLM, ChatGPT, DeepSeek, Grok, oracle tutorial, học oracle database, Tự học Oracle, Tài liệu Oracle 12c tiếng Việt, Hướng dẫn sử dụng Oracle Database, Oracle SQL cơ bản, Oracle SQL là gì, Khóa học Oracle Hà Nội, Học chứng chỉ Oracle ở đầu, Khóa học Oracle online,sql tutorial, khóa học pl/sql tutorial, học dba, học dba ở việt nam, khóa học dba, khóa học dba sql, tài liệu học dba oracle, Khóa học Oracle online, học oracle sql, học oracle ở đâu tphcm, học oracle bắt đầu từ đâu, học oracle ở hà nội, oracle database tutorial, oracle database 12c, oracle database là gì, oracle database 11g, oracle download, oracle database 19c/21c/23c/23ai, oracle dba tutorial, oracle tunning, sql tunning , oracle 12c, oracle multitenant, Container Databases (CDB), Pluggable Databases (PDB), oracle cloud, oracle security, oracle fga, audit_trail,oracle RAC, ASM, oracle dataguard, oracle goldengate, mview, oracle exadata, oracle oca, oracle ocp, oracle ocm , oracle weblogic, postgresql tutorial, mysql tutorial, mariadb tutorial, ms sql server tutorial, nosql, mongodb tutorial, oci, cloud, middleware tutorial, docker, k8s, micro service, hoc solaris tutorial, hoc linux tutorial, hoc aix tutorial, unix tutorial, securecrt, xshell, mobaxterm, putty