Skip to content

vitaminac/minios

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mini Operating System From Zero

Debian Dev Environment Setup

sudo apt update
sudo apt install build-essential nasm gcc gdb gdbserver ccache qemu qemu-system-x86

Debug

Run make debug and then you can use any gdb command.

break

  • b main: puts a breakpoint at the symbol main
  • b f:N: puts a breakpoint at the line N of file f

continue

  • c: continues running the program until the next breakpoint or error

info

  • info break: list breakpoints
  • info registers eax: show the value of specific register

where

  • where: Show call stack
  • where full: Show call stack, also print the local variables in each frame

del

  • del N: remove break point N

step

  • s: runs the next line of the program

next

  • n: Like s, but it does not step into functions

layout asm

  • layout asm: show the assembly and command windows.

stepi

  • si: next instruction

nexti

  • ni: Like si, but it does not step into routines

print

  • p var: print the current value of the variable var.

finish

  • finish: Runs until the current function is finished

list

  • list: print more lines

quit

  • q: quits gdb

VNC

You can access the remote desktop with VNC viewer connecting to "<your-linux-virtual-machine-ip-address>:5900".

Tutorial

Course

Book

Windows

Source Code

Windows

Emulator

Reference