Jump to content
    1. Welcome to GTAForums!

    1. GTANet.com

    1. GTA Online

      1. Los Santos Drug Wars
      2. Updates
      3. Find Lobbies & Players
      4. Guides & Strategies
      5. Vehicles
      6. Content Creator
      7. Help & Support
    2. Red Dead Online

      1. Blood Money
      2. Frontier Pursuits
      3. Find Lobbies & Outlaws
      4. Help & Support
    3. Crews

    1. Grand Theft Auto Series

      1. Bugs*
      2. St. Andrews Cathedral
    2. GTA VI

    3. GTA V

      1. Guides & Strategies
      2. Help & Support
    4. GTA IV

      1. The Lost and Damned
      2. The Ballad of Gay Tony
      3. Guides & Strategies
      4. Help & Support
    5. GTA San Andreas

      1. Classic GTA SA
      2. Guides & Strategies
      3. Help & Support
    6. GTA Vice City

      1. Classic GTA VC
      2. Guides & Strategies
      3. Help & Support
    7. GTA III

      1. Classic GTA III
      2. Guides & Strategies
      3. Help & Support
    8. Portable Games

      1. GTA Chinatown Wars
      2. GTA Vice City Stories
      3. GTA Liberty City Stories
    9. Top-Down Games

      1. GTA Advance
      2. GTA 2
      3. GTA
    1. Red Dead Redemption 2

      1. PC
      2. Help & Support
    2. Red Dead Redemption

    1. GTA Mods

      1. GTA V
      2. GTA IV
      3. GTA III, VC & SA
      4. Tutorials
    2. Red Dead Mods

      1. Documentation
    3. Mod Showroom

      1. Scripts & Plugins
      2. Maps
      3. Total Conversions
      4. Vehicles
      5. Textures
      6. Characters
      7. Tools
      8. Other
      9. Workshop
    4. Featured Mods

      1. Design Your Own Mission
      2. OpenIV
      3. GTA: Underground
      4. GTA: Liberty City
      5. GTA: State of Liberty
    1. Rockstar Games

    2. Rockstar Collectors

    1. Off-Topic

      1. General Chat
      2. Gaming
      3. Technology
      4. Movies & TV
      5. Music
      6. Sports
      7. Vehicles
    2. Expression

      1. Graphics / Visual Arts
      2. GFX Requests & Tutorials
      3. Writers' Discussion
      4. Debates & Discussion
    1. Announcements

    2. Support

    3. Suggestions

Happy Holidays from the GTANet team!

Help with gdb


Saggy
 Share

Recommended Posts

I'm trying to debug a function that is in another source file than main.c, called init.c, how can I instruct gdb to add a breakpoint at line 15 of a function in init.c named init()?

QUOTE (K^2) ...not only is it legal for you to go around with a concealed penis, it requires absolutely no registration!

Link to comment
Share on other sites

I don't know about GDB, but you can always trace it manually in the debugger. The source file doesn't matter. You just need to know when a function that interests you is getting called. Then you can find the line you want by reading through ASM code yourself (15 lines of C to ASM isn't all that much) or you can put a call to a useless function that would be easy to recognize. Most debuggers will recognize a call to a standard function like printf.

Prior to filing a bug against any of my code, please consider this response to common concerns.

Link to comment
Share on other sites

I don't know about GDB, but you can always trace it manually in the debugger. The source file doesn't matter. You just need to know when a function that interests you is getting called. Then you can find the line you want by reading through ASM code yourself (15 lines of C to ASM isn't all that much) or you can put a call to a useless function that would be easy to recognize. Most debuggers will recognize a call to a standard function like printf.

I actually use to do it similar to that, but from time to time I'd find that some part of the code that happened later in the text, happened before-hand in the machine code for some reason, which is when I started using gdb. I really can't cite a specific example, but it happened once or twice.

 

In any case, your mention of debuggers reocngize calls to standard functions... It just so happens gdb can add a breakpoint to a function name, so I just did

 

 

b init

 

 

and after that I could do b line_number for whatever line it was in the function I needed to stop on.

 

Finished the program too, and then realized I could do what I wanted with *nix's "sort" command with "sort -R". Oh well, at least I got some practice programming, figured out how to do something I've been meaning to for a while.

QUOTE (K^2) ...not only is it legal for you to go around with a concealed penis, it requires absolutely no registration!

Link to comment
Share on other sites

The order of operations can be switched some times, but the order of lines cannot be. If you put a call to known function before the line that interests you, code for that line will always immediately follow the call.

Prior to filing a bug against any of my code, please consider this response to common concerns.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • 1 User Currently Viewing
    0 members, 0 Anonymous, 1 Guest

×
×
  • Create New...

Important Information

By using GTAForums.com, you agree to our Terms of Use and Privacy Policy.