강의

멘토링

로드맵

BEST
Security & Network

/

System

Debugging Linux Systems

You can understand assembly code, backtrace functions, and understand the internal structure of gdb, which traces processes. You also cover the kernel's debugging tools.

(4.9) 26 reviews

217 learners

  • jikim1770
리눅스
이론 실습 모두
어셈블리
Linux
gdb
debugging
assembly-language
disassembling

Reviews from Early Learners

What you will learn!

  • Intel Architecture

  • Nasm assembly

  • Assembly Basic Grammar

  • Calling assembly functions

  • Backtrace implementation

  • Ptrace

  • Strace

  • Gdb

  • Uftrace

  • Ftrace

  • Kprobe

It involves a systematic approach to identifying and resolving problems within the Linux operating system, utilizing a variety of tools and techniques to analyze system behavior, isolate problems, and implement effective solutions.

Learning Content

Section (1) Intel Architecture

We cover the register structure and ALU operation process of Intel CPU, which is the most commonly used basic CPU for PCs.

Section (2) Nasm Assembly

Explains low-level assembly language with a focus on learning NASM (Netwide Assembler) assembly language.

Section (3) Assembly Basic Grammar I

Learn the basic syntax, structure, and rules of assembly language and learn how to write basic assembly code effectively.

Section (4) Assembly Basic Grammar II

Describes the entire process of conditional control by the assembly language and CPU flags.

Section (5) Assembly Function Calls

Describes how assembly handles arguments, return values, and local variables during a function call.

Section (6) Backtrace Implementation

Effectively covers backtracking algorithms, debugging techniques, and call stack analysis processes.

Section (7) Ptrace

Describes a technique by which one process (the tracer) controls and monitors the execution of another process (the tracee).

Section (8) Strace

Covers how to use Strace and explains the program's interaction with the operating system.

Section (9) Gdb

Explains how to set breakpoints in GDB, step through code, analyze program state, and identify and resolve software bugs.

Section (10) Uftrace

Explains how to use uftrace to trace and analyze the function call flow and performance of a program.

Section (11) Ftrace

Covers how to leverage Ftrace to trace kernel functions in Linux, thereby explaining kernel behavior, performance issues, and system-level interactions.

Section (12) Kprobe

Dynamically traces specific points in the Linux kernel and allows for debugging, performance analysis, and explanation of kernel internals.

Things to note before taking the course

  • If you have any notes that you need for the lecture, please write them down carefully.

  • It can help students fully understand the content covered in the lecture and increase learning satisfaction.

Practice environment

  • Operating System and Version (OS): Ubuntu 16.04, 18.04

  • Editing tools: Ubuntu VIM, Gcc, Gdb, Make, Ctags

  • Compiler: Gcc

Learning Materials

  • Learning material formats provided (PDF, source code)

  • During class, we use PPT to write on the board and share it as class material.

Player Knowledge and Precautions

  • Prerequisite knowledge for this course: C language basics, Linux basics

  • This lecture video specifications: FPS-60, resolution-1280*720, audio sample rate-44,100

  • Please feel free to ask questions, and the lectures may be revised when the open source version is upgraded.

  • The learning materials distributed during lectures are for class use only and unauthorized distribution is prohibited.

Recommended for
these people

Who is this course right for?

  • Anyone who wants to understand the principles of system debugging

  • Linux System Developer

  • Linux Kernel Developer

Need to know before starting?

  • C language

  • Linux Basics

Hello
This is

774

Learners

83

Reviews

12

Answers

4.9

Rating

9

Courses

김정인 강사님은 오픈소스가 중요하다며

리눅스 커널 및 딥러닝의 구현 소스를 취미 삼아 매일 분석 하는 오픈 소스 매니아 입니다.

소스를 통해 이해 한다며 무작정 소스 분석으로 모든 원리를 이해하려 하므로

수강 시 소스 폭탄에 주의 해야 합니다.

 

강의문의 : jikim@imguru.co.kr

Curriculum

All

35 lectures ∙ (9hr 28min)

Course Materials:

Lecture resources
Published: 
Last updated: 

Reviews

All

26 reviews

4.9

26 reviews

  • wjdqudwn님의 프로필 이미지
    wjdqudwn

    Reviews 136

    Average Rating 5.0

    5

    11% enrolled

    I haven't watched up to lesson 6 yet, but I can smell the scent of a master! I'll trust you and keep going!!

    • siroimono님의 프로필 이미지
      siroimono

      Reviews 18

      Average Rating 5.0

      5

      31% enrolled

      I like it I like it I like it I like it I like it I like it

      • dj7seo9759님의 프로필 이미지
        dj7seo9759

        Reviews 3

        Average Rating 4.7

        5

        31% enrolled

        • jeongsuhan3316님의 프로필 이미지
          jeongsuhan3316

          Reviews 1

          Average Rating 5.0

          5

          60% enrolled

          • gameserver3n1513님의 프로필 이미지
            gameserver3n1513

            Reviews 7

            Average Rating 4.9

            Edited

            5

            51% enrolled

            Goat

            $68.20

            jikim1770's other courses

            Check out other courses by the instructor!

            Similar courses

            Explore other courses in the same field!