Results 1 to 10 of 10

Thread: Debugger

  1. #1
    Join Date
    Feb 2011
    Location
    The Future.
    Posts
    5,600
    Mentioned
    396 Post(s)
    Quoted
    1598 Post(s)

    Default Debugger

    I created a basic debugger for any application (I was bored) for the community. There seems to be a lack of GOOD Direct-X debuggers so I'll be working on a module for that hopefully. It needs a lot of work but the base and most of the necessary logic is already implemented. The debugger component is a stand-alone module and can be integrated with any GUI or console or whatever you choose.. I've written a basic GUI that utilizes the debugger module.

    I've ran out of project names so.. don't worry about the name; there isn't much of a story behind it anyway.

    Its source will be located at: https://github.com/Brandon-T/Scarlette

    The actual debugger components & interpretation of the debugged data:
    https://github.com/Brandon-T/Scarlet...r/Debugger.hxx
    https://github.com/Brandon-T/Scarlet...r/Debugger.cxx
    https://github.com/Brandon-T/Scarlet...indow.cxx#L494

    TODO:

    Add button to allow you to step through the assembly (code is already there for stepping through).
    Add button to allow you to continue (code is already there for continuing).
    Add checkbox so you can enable/disable a break-point (code is already there for enabling/disabling).
    Mimic client function calls (no code in place).
    Finish menus.
    Stack walking & displaying line numbers if source is available (most likely will do this last).


    What it currently does:

    Pauses client on breakpoint.
    Allows user to continue when a break-point is hit.
    Allows user to step-in when a break-point is hit.
    Displays necessary registers.
    Has client area for mimicking client calls such as Drawing, Textures, Models, etc..
    Has API for communicating with client.
    View Threads, Child Processes, DLL's/Modules, Exceptions thrown, etc..
    View information on all of the above.
    Debug both x64 and x86/x32 processes.


    Pretty cool huh? Sample screenshot below..

    http://i.imgur.com/eWdhF6T.png

    Mimicking Client Draw calls, viewing information on modules, threads, registers, etc:


    .
    .

    http://i.imgur.com/ZyLO0sX.png

    Exception handling, Breakpoint handling, console debugging:
    Last edited by Brandon; 08-27-2015 at 06:09 PM.
    I am Ggzz..
    Hackintosher

  2. #2
    Join Date
    Feb 2013
    Location
    Rimmington
    Posts
    319
    Mentioned
    33 Post(s)
    Quoted
    183 Post(s)

    Default

    Obviously I rep+ you.
    Nice work.





  3. #3
    Join Date
    Dec 2011
    Location
    East Coast, USA
    Posts
    4,231
    Mentioned
    112 Post(s)
    Quoted
    1869 Post(s)

    Default

    Impressive ... is this the groundwork for dxLib?
    GitLab projects | Simba 1.4 | Find me on IRC or Discord | ScapeRune scripts | Come play bot ScapeRune!

    <BenLand100> we're just in the transitional phase where society reclassifies guns as Bad™ before everyone gets laser pistols

  4. #4
    Join Date
    Aug 2014
    Location
    Australia
    Posts
    932
    Mentioned
    53 Post(s)
    Quoted
    495 Post(s)

    Default

    Quote Originally Posted by KeepBotting View Post
    Impressive ... is this the groundwork for dxLib?
    ^ This.

    Do we actually know for sure that NXT will use DirectX, making this incredibly useful?



    New to scripting? Procedures & Functions for Beginners
    Do you use your computer at night? Just get f.lux

  5. #5
    Join Date
    Oct 2006
    Posts
    6,752
    Mentioned
    95 Post(s)
    Quoted
    532 Post(s)

    Default

    Great job @Brandon;! Hopefully someone will have the want to work on putting together the plugin and include now that there is a proper debugger.
    “The long-lived and those who will die soonest lose the same thing. The present is all that they can give up, since that is all you have, and what you do not have, you cannot lose.” - Marcus Aurelius

  6. #6
    Join Date
    Oct 2013
    Location
    East Coast USA
    Posts
    770
    Mentioned
    61 Post(s)
    Quoted
    364 Post(s)

    Default

    As always, thanks for the share! I can learn a lot from this one.

    It might be a week or two before I have any proper questions.

  7. #7
    Join Date
    Feb 2011
    Location
    The Future.
    Posts
    5,600
    Mentioned
    396 Post(s)
    Quoted
    1598 Post(s)

    Default

    Quote Originally Posted by Incurable View Post
    ^ This.

    Do we actually know for sure that NXT will use DirectX, making this incredibly useful?

    This debugger uses plugins.. Whether it is Direct-X or OpenGL, it makes no difference. The only thing I would have to do is add the OpenGL initialization calls. If its neither of those, you can set the breakpoints on whatever addresses you want.
    I am Ggzz..
    Hackintosher

  8. #8
    Join Date
    Dec 2007
    Posts
    2,112
    Mentioned
    71 Post(s)
    Quoted
    580 Post(s)

    Default

    Quote Originally Posted by KeepBotting View Post
    Impressive ... is this the groundwork for dxLib?
    What's dxLib?

  9. #9
    Join Date
    Oct 2007
    Location
    #srl
    Posts
    6,102
    Mentioned
    39 Post(s)
    Quoted
    62 Post(s)

    Default

    Quote Originally Posted by Kasi View Post
    What's dxLib?
    An in progress(?) library for DirectX. Would be similar to what ogLib is.

  10. #10
    Join Date
    Dec 2011
    Location
    East Coast, USA
    Posts
    4,231
    Mentioned
    112 Post(s)
    Quoted
    1869 Post(s)

    Default

    Quote Originally Posted by Kasi View Post
    What's dxLib?
    Oh, it doesn't exist yet. but ogLib is for OpenGL, so dxLib should be for Direct-X.

    If it's ever made. It doesn't exist, dxLib is just a hypothetical name.
    GitLab projects | Simba 1.4 | Find me on IRC or Discord | ScapeRune scripts | Come play bot ScapeRune!

    <BenLand100> we're just in the transitional phase where society reclassifies guns as Bad™ before everyone gets laser pistols

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •