/
GDB/KGDB Harish Chetty WHAT IS gdb/ GDB/KGDB Harish Chetty WHAT IS gdb/

GDB/KGDB Harish Chetty WHAT IS gdb/ - PowerPoint Presentation

BadassBabe
BadassBabe . @BadassBabe
Follow
342 views
Uploaded On 2022-08-03

GDB/KGDB Harish Chetty WHAT IS gdb/ - PPT Presentation

kgdb GNU Project Debugger Supports Windows amp Linux USES Pass anything to the program Break anywhere within the program Get Information about crashes Modify runtime values Reverse Engineer the Code ID: 933462

machine gdb http kgdb gdb machine kgdb http target serial virtual org debugging linux socket socat unix set html

Share:

Link:

Embed:

Download Presentation from below link

Download Presentation The PPT/PDF document "GDB/KGDB Harish Chetty WHAT IS gdb/" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.


Presentation Transcript

Slide1

GDB/KGDB

Harish Chetty

Slide2

WHAT IS gdb/kgdb

GNU Project Debugger

Supports Windows & Linux

USES

Pass anything to the program

Break anywhere within the program

Get Information about crashes

Modify runtime values

Reverse Engineer the Code

Everything You Can Imagine.

Slide3

Setup options

Kernel Modules do not have predefined symbol locations.

GDB doesn’t understand the function and variable locations.

Only Static analysis is possible using GDB

Must Provide the Section header address in memory.

KGDB uses 2 computers , one for testing other for debugging

Carry out all GDB functions from debugging machine.

How to setup?

Connect two computers using serial port

Use virtual machine with Unix socket (and connect via serial stream).

Slide4

Setup Example

Not the easiest of things to set up.

This is for setting up Virtual Machine KGDB.

Target : Linux Machine (3.10.40) and Debugger : Linux

Machine (3.10.40)

Debugger(Host): Virtual Machine on VMware player

Target (Client): Virtual Machine on VMware player inside Host.

Base O.S. with Windows 8.1

Different steps for different set up’s and also the virtualizing software

Slide5

ENABLE KGDB

It is Installed by Default

Turn it ON if not.

Slide6

Hardware virtualization

VT –x is Required for 64 Bit Linux.

Must be Enabled in the BIOS.

Must be Enabled in the VM.

Slide7

Setting up serial port in VM

ON

TARGET

MACHINE

Go to Settings

Create a named Socket

Use Server to An Application

Slide8

Unix Socket to serial listener

Since its actually a UNIX SOCKET

GDB uses serial port

socat

 establish two bidirectional byte streams.

Boot the

target

machine, call

socat

from

debugging

machine

Slide9

Almost done

On Debugging machine use

‘gdb

vmlinux

.

The

vmlinux

is the uncompressed image of the kernel

Then set up target using:

‘gdb remote target /

dev

/

pts

/2’

And now we can debug!

Slide10

Slide11

Slide12

Slide13

Slide14

Slide15

Slide16

Slide17

References

http

://www.gnu.org/software/gdb

/

https://

sourceware.org/gdb/onlinedocs/gdb/Symbols.html

http://sysprogs.com/VBoxGDB/tutorial

/

https://

docs.python.org/2/library/pty.html

http://

www.dest-unreach.org/socat/doc/socat.html

http://

nam228.files.wordpress.com/2011/12/kgdb_2virtualmachines1.pdf

http

://

oslab.info/index.php/Misc/KGDB

http://web.cecs.pdx.edu/~

jrb/cs201/lectures/handouts/gdbcomm.txt