Tôi có thể thêm điểm ngắt trên cửa sổ API CreateProcess trong Visual studio như tôi có thể làm trong Windbg không?Tôi có thể thêm điểm ngắt trên CreateProcess trong VS
10
A
Trả lời
15
Có - Go "Debug/New breakpoint/Break tại chức năng ..." và dán này:
{,,kernel32.dll}[email protected]
vào hộp Function.
Giả định bản dựng Unicode - thay thế W
bằng A
cho các bản dựng ANSI.
Một chút giải thích: đoạn @40
là một phần của quy ước gọi điện thoại stdcall và cung cấp số byte tham số mà hàm đó thực hiện. Trong win32, điều này hầu như luôn luôn gấp 4 lần số tham số. Dấu gạch dưới cũng là một phần của quy ước gọi hàm stdcall.
Một lưu ý liên quan: đôi khi tên của hàm như được thấy bởi debugger khác với tên thật của nó - xem bài viết trên blog này cho một ví dụ, và làm thế nào để tìm tên quyền sử dụng: Setting a Visual Studio breakpoint on a Win32 API function in user32.dll
Các vấn đề liên quan
- 1. Tôi có thể đặt điểm ngắt Firebug trong jsFiddle không?
- 2. Đặt điểm ngắt trên hàm có tên
- 3. Tôi có thể đặt điểm ngắt trên 'truy cập bộ nhớ' trong GDB không?
- 4. Tôi có thể kích hoạt điểm ngắt trên lỗi OpenGL trong Xcode 4 không?
- 5. Cách thêm điểm ngắt có điều kiện trong Visual C++
- 6. Điểm ngắt gdb trên pthread_create
- 7. Làm cách nào tôi có thể di chuyển điểm ngắt có điều kiện trong Eclipse?
- 8. Tôi không thể vô hiệu hóa điểm ngắt (ma)
- 9. Trong Intellij, làm thế nào tôi có thể ném một ngoại lệ tại một điểm ngắt?
- 10. Có thể đặt tên điểm ngắt trong GDB không?
- 11. Điểm ngắt quãng của tôi KVO
- 12. Làm cách nào để thêm điểm ngắt trong Xcode?
- 13. Tôi muốn gỡ lỗi (thiết lập một điểm ngắt trong) System.Web.Mvc.DefaultControllerFactory, là có thể?
- 14. Eclipse Không thể cài đặt điểm ngắt
- 15. Không thể đặt các điểm ngắt trong Eclipse
- 16. điểm ngắt ảo khiến tôi phát điên!
- 17. Tại sao có thể _CrtSetBreakAlloc không gây ra điểm ngắt?
- 18. Google Chrome sẽ không cho phép tôi đặt điểm ngắt
- 19. Đặt điểm ngắt trong GDB
- 20. Sử dụng lệnh Say trên điểm ngắt trong Xcode
- 21. Làm cách nào để thêm điểm ngắt vào objc_exception_throw?
- 22. Cách đặt điểm ngắt trên phương thức trong khung .net
- 23. IntelliJ Idea (gỡ lỗi) điểm ngắt có điều kiện phụ thuộc vào các điểm ngắt khác
- 24. Điểm ngắt được gạch ngang, làm thế nào tôi có thể làm cho chúng hợp lệ?
- 25. Cách đặt điểm ngắt trên hàm python trong gdb
- 26. Đặt điểm ngắt trên mỗi dòng trong GDB
- 27. Tôi có thể chèn điểm ngắt vào chương trình perl nguồn không?
- 28. Điểm ngắt không (dấu vết) trong Javascript?
- 29. SIGTRAP mặc dù không có điểm ngắt được đặt; điểm ngắt phần cứng ẩn?
- 30. tại sao tôi không thể thiết lập điểm ngắt trong nhật thực?
Thà phá vỡ cả hai. Do hành vi non-const funky của CreateProcessW, ngay cả các ứng dụng Unicode có thể gọi CreateProcessA. Macro CreateProcess không ẩn hai khai báo hàm bên dưới để chúng vẫn được gọi. Điều này cũng áp dụng cho các macro tương tự cho các cặp chức năng khác. – MSalters
Một điều nữa cần lưu ý là bạn phải tải xuống các ký hiệu 'kernel32.dll' trước. Bạn có thể thực hiện điều đó từ menu ngữ cảnh bên trong Debug/Windows/Modules. – ulidtko
giải thích về cú pháp {,,,} là ở đây: https://msdn.microsoft.com/en-us/library/wztycb7f(v=vs.100).aspx lưu ý rằng vì lý do gì đó bài viết không tồn tại visual studio cao hơn so với vs2010 –