• debugger

    2019-09-19 18:00:13


  • Debugger

    2013-12-10 15:46:58
    1.You can debug all the languages supported by the engine (JavaScript, C#, and Boo).你可以调试引擎所支持的所有语言...2.Note that the debugger has to load all your code and all symbols, so bear in

    1.You can debug all the languages supported by the engine (JavaScript, C#, and Boo).你可以调试引擎所支持的所有语言(Javascript,C#和Boo)。

    2.Note that the debugger has to load all your code and all symbols, so bear in mind that this can have a small impact on the performance of your game during execution.  Typically, this overhead is not large enough to affect the game framerate.注意:调试器会加载你所有的代码和所有的符号,所以牢记,这在你游戏执行的过程中会对游戏的性能有一些小的影响。通常情况下,这种开销不足以大到影响游戏的帧率。


                         (2)Launch Unity or your player.

                                   Unity: Ensure you have "Editor Attaching" checked in the Preferences window.确保Preference窗口中的Editor Attaching被选中。如果不选中,将不能连接Unity editor进行调试。即(3)中的Attach不能成功。

                                   Players: Ensure that you have built your player with the "Development build" and "Allow script debugging" options enabled. For  webplayers,  additionally        check that the development release channel setting is enabled on the player's context menu (right click on Windows or cmd-click on Mac OSX):确保在你在编译播放器(在Bulid Settings中)时启用了"Development Build" 和"Allow Script debugging"。在webplayer中,还要确保在播放器的上下文菜单中启用了development release setting(在Windows中右击或者在Mac OSX中cmd-click)

                                这是为了使(3)中的desktop standalone players, Android and iOS players可以成功A调试

                          (3)在工具栏中选择Attach按钮,或者选择菜单Run->Attach to Process,在弹出的对话框中,选择要调试的进程(双击进程)。

    Currently supported debugging targets: Unity editors, desktop standalone players, Android and iOS players


    If your player is set not to run in the background (the default), you may need to focus your player for a few seconds in order for it to appear in the list.

    如果播放器设置为不要在后台运行(默认),你可能需要关注你的播放器几秒,以便他出现在列表中。 这句不太清楚,总之打开你要attach的播放器,放在前台运行几秒钟后总是可以使其出现在列表中的

    Android和iOS播放器在script debugging被启用时需要启用网络。所有的播放器都需要和运行MonoDevelop的计算机在相同的网络子网中。

    4.When you enter play mode, your script code will execute in the debugger.

    When a breakpoint occurs, script execution will stop, and you   will be able to use MonoDevelop to step over, into, and out of your   script methods, inspect your variables, examine the call stack, etc.

    • Note: When you're done debugging a toplevel method (e.g. Update()), or you just want to jump to the next breakpoint, you will experience better debugger performance by using the Continue command instead of stepping out or over the end of your function.

    When you're done debugging, click the Detach or Stop buttons in the toolbar, or choose Detach or Stop from the Run menu.
    当你完成调试是,在工具栏上单击"Detach"或"Stop"按钮,或者从Run菜单中选择 "Detach"或 "Stop"。

    If you add a watch to the this object, you can inspect the internal values (position, scale, rotation...) of the GameObject to which the script is attached.

  • 断点debugger

    2019-04-17 15:21:03


  • antiDebugger&anti anti debugger---ios逆向反编译反编译反编译 反编译,反调试书籍
  • Extended debugger

    2021-01-01 16:17:26
    <ul><li>Resized window when entering debugger</li><li>Display emulator output and memory heatmap (activity) next to the debugger console</li><li>Emulator output follows the video counter (CRT beam) ...
  • Remote Debugger

    2014-07-31 10:30:14
    Remote Debugger
  • debugger for windows

    2020-09-16 09:43:32
    debugger for windows
  • Debugger extension

    2021-01-06 10:41:12
    <div><p>This extension is for adding interractions with the debugger. For now it only has breakpoints. In the future it may be extended (sort of console in debugger with console logging?) <p>The PR ...
  • Debugger Improvements

    2020-11-25 01:26:38
    <div><p>Tracking issue for debugger improvements: <ul><li>[ ] Fix/cleanup <code>ruby-debug-ide</code> integration with editor. This includes making sure the debugger properly handles breakpoints (#270...
  • Debugger improvements

    2020-12-28 04:39:25
    <p>Copy and pasting large text fields hangs the debugger command field (workaround is to press F3, but its still annoying when you copy from the debugger window then accidentally paste that in). ...
  • ImmunityDebugger

    2019-01-15 14:12:42
    Immunity Debugger软件专门用于加速漏洞利用程序的开发,辅助漏洞挖掘以及恶意软件分析。它具备一个完整的图形用户界面,同时还配备了迄今为止最为强的Python安全工具库。它巧妙的将动态调试功能与一个强大的静态...
  • <div><p>Add ability to test the support minus the actual debugger. <p>Fixes #2411 <p>Signed-off-by: Ralph Castain </p><p>该提问来源于开源项目:open-mpi/ompi</p></div>
  • Debugger learning

    2019-04-23 15:38:29
    Debugger learning debugger white box debugger black box debugger user mode debugger(ring 3) kernel debugger(ring 0) when you interact with windows driver(like network driver), the driver works...

    Debugger learning

    • debugger
      • white box debugger
      • black box debugger
        • user mode debugger(ring 3)
        • kernel debugger(ring 0)

    when you interact with windows driver(like network driver), the driver works in kernel mode

    • windows debugger

      • winDbg
      • OllyDbg
    • Linux debugger

      • GNU Debugger(gdb)
    • Intelligent debugging

      • PyDbg
      • Immunity Debugger
    • debugging theory

      • low-level theory(CPU architecture, stack)


    Create my own debugger for any operation system

    CPU architecture

    • x86 instruction set

      • x86 assembly
        • instruction(a sentence, high level command, like MOV EAX, EBX)
        • opcode or opreation code (machine language that command CPU executes, like 8BC3)
    • EAX, EDX, ECX, ESI, EDI, EBP, ESP, EBX, EIP(General purpose register)

      • EAX(accumulator register, for calculations and store return values from function calls)
      • EDX(data register, storing extra data for more complex calculation, helper of EAX)
      • ECX(counter register, for loop operation, counts downward)
      • ESI(source index for the input, hold location of input stream, for reading)
      • EDI(destination index for the output, hold location of output stream, for writing)
      • ESP(stack pointer)
      • EBP(base pointer)
      • EBX(for extra storage)
      • EIP(point to current instruction that is being executed)
    • Stack

      • store info
        • how a function is called (when called)
        • the parameters it takes(input var)
        • how the function return(return address)
      • Local variables
        • part of memory, where lifecycle exist when function exists
        • local variables are allocated on the stack
        • in the stack, after input parameters and return address push into the stack


    • debugger

      • debugger run as an endless loop to wait for the debugger event happen
      • when a debugging event occurs, the loop break
      • and a handler is called to deal with the event
    • debugger event

      • breakpoint
      • memory violations(access violations or segmentation faults)
      • exeception generated by debugged program
    • breakpoints

      • soft breakpoints
        • a single-byte instruction that stops the execution, and passes control to breakpoint handler
      • hardware breakpoints
        • CPU level
        • debugger register(DR0-DR7)
          • DR0-DR3 for addresses
          • DR4, DR5 reserved
          • DR6 status register(determine the type of debugging event)
          • DR7 switch of hardware breakpoint
            • break condition
            • break when executed at a particular address
            • break when data is written to address
            • break on read or write but not execution
      • memory breakpoints
        • change the permission on a region or page of memory
        • the memory page is a part of memory that the operating system handles on
          • page execution permission
          • page read permission
          • page write permission
          • guard page permission
            • useful, separating heap from the stack
            • ensure a portion of memory doesn’t grow beyond the boundary

    Soft breakpoints

    In order to place soft breakpoints, we need to be able to read and write into process's memory.(via ReadProcessMemory() and WriteProcessMemory())

    Debug flow

    debugger should:

    • open an executable file
    • attach the debugger to a running process
    • be able to capture the state of CPU register at any given time

    Exception and stack

    the state of stack changes when an exception occurs

    the exception is interesting, it can include breakpoints, access violations, improper access permission on memory.
    IP(instruction pointer is something currently executing, we should get a handle to the
    currently executing thread in the debuggee)

    Process and thread

    threads are executing inside the process. We can use OpenProcess() to select the thread we want
    to handle. the first step is Thread Enumeration.(especially the running threads in the process).
    the method corresponds Thread Enumeration is CreateToolhelp32Snapshot() which is from kernal32.dll

    Takes a snapshot of the specified processes, as well as the heaps, modules, and threads used by these processes

    Remember our target is to obtain the register state from a process. ( be able to capture the state of CPU register at any given time and from any process or threads)


    a process contains at least one thread(main thread)

    Context and register

    in windows operating system, context is the status of some basic component, like CPU register value is the context of the process or thread. context structure holds all the register values.

    typedef struct _WOW64_CONTEXT {
      DWORD                    ContextFlags;
      DWORD                    Dr0;  // debugger regiesters
      DWORD                    Dr1;
      DWORD                    Dr2;
      DWORD                    Dr3;
      DWORD                    Dr6;
      DWORD                    Dr7;
      DWORD                    SegGs; // segment registers
      DWORD                    SegFs;
      DWORD                    SegEs;
      DWORD                    SegDs;
      DWORD                    Edi; // registers
      DWORD                    Esi;
      DWORD                    Ebx;
      DWORD                    Edx;
      DWORD                    Ecx;
      DWORD                    Eax;
      DWORD                    Ebp;
      DWORD                    Eip;
      DWORD                    SegCs;
      DWORD                    EFlags;
      DWORD                    Esp;
      DWORD                    SegSs;
      BYTE                     ExtendedRegisters[WOW64_MAXIMUM_SUPPORTED_EXTENSION];
    } WOW64_CONTEXT;

    Debugging event handlers

    debugging event handlers solve debugging events when they occur.


  • <div><h1>command-line-arguments <p>./debug.go:16: cannot use Debugger literal (type *Debugger) as type Debugger in assignment</p><p>该提问来源于开源项目:shimberger/gohls</p></div>
  • JWT Debugger

    2020-01-22 01:23:24
    使用jwt.io的Debugger工具可以编码、验证和生成JWT 网址:https://jwt.io/#debugger
  • zenddebugger

    2012-10-23 13:54:44
    在php配置文件里加入 [Zend] zend_extension_ts="F:/xdebug/ZendDebugger.dll" zend_debugger.allow_hosts= zend_debugger.expose_remotely=always 其中zend_extension_ts指向你拷贝的文件夹
  • vbdebugger_ha

    2020-11-17 16:10:45
  • js debugger

    2012-09-27 15:58:29
    IE js调试工具js debugger
  • Unexpected 'debugger' statement no-debugger

    千次阅读 2020-02-13 21:22:11
    vue项目出现Unexpected 'debugger' statement no-debugger 解决: 1.点击灯泡 2.点击Suppress 3.出现//eslint,问题解决
  • Google cloud debugger

    2020-12-01 22:56:29
    <div><p>This PR introduces google-cloud-debugger gem to the family. It contains the Debugger GAPIC client and instrumentation for Debugger.The GAPIC client is similar to other GAPIC generated clients ...
  • Debugger not running

    2020-12-09 05:10:28
    m trying to run python debugger, but I can't run on any command this is my project file <pre><code>json { "folders": [ { "path": "D:\\Amjad\\Python_project" } ], &#...
  • debugger for mysql是一款针对mysql所推出的最实用调试软件。MySQL调试工具功能强大,能帮助用户进行数据库同步、查询、数据库管理和维护等相关功能操作,让你更轻松的管理MySQL服务器。需要的朋友可以来本站下载!...
  • debugger使用

    2020-03-16 14:32:26
    在需要调试的地方写上debugger,保存代码 打开f12 debugger快捷键 ①进入下个断点 ,快捷键F8,如果有多个断点,点击时可以直接进入下个断点,忽略断点内部所有逻辑。 ②忽略代码内部实现,进入下个方法 ,快捷键 ...
  • ZendDebugger

    2012-03-16 12:51:56
    ZendDebugger zend studio开发工具的调试工具
  • <div><p>There have been a few reports about issues with the debugger, and in some cases having to restart VS Code to make it work again. The following comments seem to indicate that we are not ...
  • java debugger

    2017-11-18 23:33:00
    当你想找方法被哪个地方调用了,可以打断点看debugger方法栈 idea Debugger



1 2 3 4 5 ... 20
收藏数 30,477
精华内容 12,190