GDB/KGDB HARISH CHETTY. WHAT IS GDB/KGDB  GNU Project Debugger  Supports Windows & Linux  USES  Pass anything to the program  Break anywhere within.

Slides:



Advertisements
Similar presentations
Software Installation Deck Big Data Workshop Saturday March 10 th, 2012.
Advertisements

Creating a Virtual Machine Researched and Created by Bryan Bankhead.
Contribute Quick Setup. Enter your Hawk ID and password to Log On.
Media Player for the i.MX31 Advanced Embedded Systems Architecture Class Project May 14, 2011 Rafael Castro Ryan Ugland Carlos Cabral.
Programming with Android: SDK install and initial setup Luca Bedogni Marco Di Felice Dipartimento di Informatica: Scienza e Ingegneria Università di Bologna.
Linux Booting Procedure
U-Boot and Linux Kernel Debug using CCSv5
Senior Design Lab Policies Presented by: Trey Murdoch CSC IT Staff.
Creating WordPress Websites. Creating a site on your computer Local server Local WordPress installation Setting Up Dreamweaver.
IERG4180 Tutorial 4 Jim.
DiscussionCS-502 Fall Class Discussion Peterson’s Solution for n > 2.
1 CSE 390 Lecture 10 Do anything from anywhere – tools to free your choice of OS slides created by Marty Stepp, modified by Jessica Miller and Ruth Anderson.
Tomcat Celsina Bignoli History of Tomcat Tomcat is the result of the integration of two groups of developers. – JServ, an open source.
Securing LAMP: Linux, Apache, MySQL and PHP Track 2 Workshop PacNOG 7 July 1, 2010 Pago Pago, American Samoa.
Introduction Purpose Objectives Content Learning Time
To run the program: To run the program: You need the OS: You need the OS:
Linux Basics CS 302. Outline  What is Unix?  What is Linux?  Virtual Machine.
Spring 2014 SILICON VALLEY UNIVERSITY CONFIDENTIAL 1 Introduction to Embedded Systems Dr. Jerry Shiao, Silicon Valley University.
Debugging techniques in Linux Debugging Techniques in Linux Chetan Kumar S Wipro Technologies.
Introduction Purpose This training course covers debugging an application on an SH target in the Renesas HEW (High-performance Embedded Workshop) development.
Computer System Laboratory
LINUX System : Lecture 3 Vmware, Cygwin, LINUX installation Bong-Soo Sohn Assistant Professor School of Computer Science and Engineering Chung-Ang University.
N ETWORKED & D ISTRIBUTED COMPUTING S YSTEMS L AB Programming Assignments EE323 Computer Networks.
Chapter 6 Operating System Support. This chapter describes how middleware is supported by the operating system facilities at the nodes of a distributed.
Instructor Notes GPU debugging is still immature, but being improved daily. You should definitely check to see the latest options available before giving.
ICOM 6115©Manuel Rodriguez-Martinez ICOM 6115 – Computer Networks and the WWW Manuel Rodriguez-Martinez, Ph.D. Lecture 26.
CS 444 Introduction to Operating Systems
Lab 10 Department of Computer Science and Information Engineering National Taiwan University Lab10 – Debugging II 2014/12/2 1 /16.
1 CSE 390 Lecture 9 Do anything from anywhere – tools to free your choice of OS slides created by Marty Stepp, modified by Jessica Miller and Ruth Anderson.
Remote Controller & Presenter Make education more efficiently
SAPC Hardware Pentium CPU (or 486) 4M usable memory no hard disk; boot from floppy no keyboard or monitor or mouse COM2 serial port: used for console i/o.
General rules 1. Rule: 2. Rule: 3. Rule: 10. Rule: Ask questions ……………………. 11. Rule: I do not know your skill. If I tell you things you know, please stop.
A. Frank - P. Weisberg Operating Systems Structure of Operating Systems.
M. Accetta, R. Baron, W. Bolosky, D. Golub, R. Rashid, A. Tevanian, and M. Young MACH: A New Kernel Foundation for UNIX Development Presenter: Wei-Lwun.
Docker and Container Technology
Byoung-Jo CHOI Fall 2007 SW Project II Advanced Linux Programming.
Windows ® 2000 Debugging André Vachon Development Lead Windows Debuggers Microsoft Corporation.
Unit - V. Debugging GNU Debugger helps you in getting information about the following: 1.If a core dump happened, then what statement or expression did.
Linux Kernel Programming (LKP). LKP New sub-course New sub-course We will learn together We will learn together Evaluation of this part of course will.
Ladebug Kernel Debugging Tutorial Bob Lidral. Introduction Kinds of kernel debugging How to use Ladebug for kernel debugging Not how to debug a kernel.
Lab 9 Department of Computer Science and Information Engineering National Taiwan University Lab9 - Debugging I 2014/11/4/ 28 1.
1 CSE 391 Lecture 10 Do anything from anywhere – tools to free your choice of OS slides created by Marty Stepp, modified by Jessica Miller and Ruth Anderson.
1 E-Site - FTP Services Setup / install guide. 2 About FTP services can run on any desired port(s) Runs as a windows service Works for all sites installed.
Source Target Host PowerConvert Server PowerConvert Client HTTP: Port 80 TCP (or HTTPS: Port 443 TCP) In addition to HTTP/HTTPS, the following ports are.
Debugging RTC CLI in Eclipse
VirtualBox. VirtualBox – key points ● What is a virtual machine. ● How to get the software. ● Install the host software. ● General Tweeks. ● Security.
By Ganesan Alagu Ganesh Feb 26, 2008
Andrea Chierici Virtualization tutorial Catania 1-3 dicember 2010
Computer System Laboratory
Do anything from anywhere – tools to free your choice of OS
Do anything from anywhere – tools to free your choice of OS
CSC227: Operating Systems
Fundamentals Sunny Sharma Microsoft
Client-Server Communication
By Ganesan Alagu Ganesh Feb 21, 2008
Dynamic Analysis ddaa.
Debugging with gdb gdb is the GNU debugger on our CS machines.
Lab 1 introduction, debrief
Do anything from anywhere – tools to free your choice of OS
Linux Programming Environment How to Run Linux in Windows
3.2 Virtualisation.
Chapter 3. Basic Dynamic Analysis
SAPC Hardware Pentium CPU (or 486) 4M usable memory
Do anything from anywhere – tools to free your choice of OS
Do anything from anywhere – tools to free your choice of OS
Virtual machines benefits
Do anything from anywhere – tools to free your choice of OS
Crisis and Aftermath Morris worm.
Software Engineering and Architecture
Kernel Debugging with VMplayer and Windbg
Presentation transcript:

GDB/KGDB HARISH CHETTY

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.

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).

SETUP EXAMPLE  Not the easiest of things to set up.  This is for setting up Virtual Machine KGDB.  Target : Linux Machine ( ) and Debugger : Linux Machine ( )  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

ENABLE KGDB  It is Installed by Default  Turn it ON if not.

HARDWARE VIRTUALIZATION  VT –x is Required for 64 Bit Linux.  Must be Enabled in the BIOS.  Must be Enabled in the VM.

SETTING UP SERIAL PORT IN VM  ON TARGET MACHINE  Go to Settings  Create a named Socket  Use Server to An Application

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

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!

REFERENCES        