[英]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.