Inflearn brand logo image
Inflearn brand logo image
Inflearn brand logo image
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) 23 reviews

198 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

702

Learners

66

Reviews

11

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

23 reviews

4.9

23 reviews

  • jeongsuhan3316님의 프로필 이미지
    jeongsuhan3316

    Reviews 1

    Average Rating 5.0

    5

    60% enrolled

    • gameserver3n1513님의 프로필 이미지
      gameserver3n1513

      Reviews 7

      Average Rating 4.9

      Edited

      5

      51% enrolled

      Goat

      • dhdhoh5167님의 프로필 이미지
        dhdhoh5167

        Reviews 1

        Average Rating 4.0

        4

        31% enrolled

        • kyooh4294님의 프로필 이미지
          kyooh4294

          Reviews 1

          Average Rating 4.0

          4

          31% enrolled

          • hyeonsulee5201님의 프로필 이미지
            hyeonsulee5201

            Reviews 1

            Average Rating 5.0

            5

            100% enrolled

            普段からとても気になっていた内容だったのですが、講義を聞きながら実習できたので、とても良かったです。

            $68.20

            jikim1770's other courses

            Check out other courses by the instructor!

            Similar courses

            Explore other courses in the same field!