简体   繁体   English

Chromium `debugger` 等价物,在 Cygwin 的`gdb` 上?

[英]Chromium `debugger` equivalent, on `gdb` for Cygwin?

How do people trigger a breakpoint on gdb (for Cygwin, specifically) from the very source code?人们如何从源代码中触发gdb (特别是 Cygwin)上的断点?

Like when a JS script has the debugger word in it and Chromium dev tools trigger stop for debugging?就像 JS 脚本中包含debugger词并且 Chromium 开发工具触发停止以进行调试一样?

Here's how SDL2 implements this feature:以下是 SDL2 实现此功能的方式:

#if defined(_MSC_VER)
/* Don't include intrin.h here because it contains C++ code */
    extern void __cdecl __debugbreak(void);
    #define SDL_TriggerBreakpoint() __debugbreak()
#elif ( (!defined(__NACL__)) && ((defined(__GNUC__) || defined(__clang__)) && (defined(__i386__) || defined(__x86_64__))) )
    #define SDL_TriggerBreakpoint() __asm__ __volatile__ ( "int $3\n\t" )
#elif defined(__386__) && defined(__WATCOMC__)
    #define SDL_TriggerBreakpoint() { _asm { int 0x03 } }
#elif defined(HAVE_SIGNAL_H) && !defined(__WATCOMC__)
    #include <signal.h>
    #define SDL_TriggerBreakpoint() raise(SIGTRAP)
#else
    /* How do we trigger breakpoints on this platform? */
    #define SDL_TriggerBreakpoint()
#endif

The conditionals should probably resolve to __asm__ __volatile__ ( "int $3\n\t" ) on Cygwin.条件可能应该解析为 Cygwin 上的__asm__ __volatile__ ( "int $3\n\t" )

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM