直接运行传递参数
linux ubda=umfs kernel loglevel=7
gdb调试方式传递参数
suse:/jingsheng/linux_src/linux-2.6.36 # gdb linux
GNU gdb (GDB) SUSE (7.1-3.12)Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "i586-suse-linux".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /usr/bin/linux...done.
(gdb) set args kernel loglevel=7
(gdb) b setup_arch
Breakpoint 1 at 0x804a49f: file /jingsheng/linux_src/linux-2.6.36/arch/um/kernel/um_arch.c, line 376.
(gdb) r
Starting program: /usr/bin/linux kernel loglevel=7
Missing separate debuginfo for /lib/ld-linux.so.2
Try: zypper install -C "debuginfo(build-id)=22e2b3718e8271a0d899156a796b0a90bc4dc391"
Missing separate debuginfo for /lib/libutil.so.1
Try: zypper install -C "debuginfo(build-id)=f2aae04f3b52fa334fc443f4e4e80f58479c65af"
Missing separate debuginfo for /lib/libc.so.6
Try: zypper install -C "debuginfo(build-id)=62a8bfd7732322fa6b9c39d39a830a8028804534"
Locating the bottom of the address space ...
Program received signal SIGSEGV, Segmentation fault.
0x0806748b in page_ok (page=<value optimized out>) at /jingsheng/linux_src/linux-2.6.36/arch/um/os-Linux/sys-i386/task_size.c:31
31 n = *address;
Breakpoint 1, setup_arch (cmdline_p=0x8222f9c) at /jingsheng/linux_src/linux-2.6.36/arch/um/kernel/um_arch.c:376
376 paging_init();
(gdb) bt
#0 setup_arch (cmdline_p=0x8222f9c) at /jingsheng/linux_src/linux-2.6.36/arch/um/kernel/um_arch.c:376
#1 0x08049360 in start_kernel () at /jingsheng/linux_src/linux-2.6.36/init/main.c:569
#2 0x0804a566 in start_kernel_proc (unused=0x0) at /jingsheng/linux_src/linux-2.6.36/arch/um/kernel/skas/process.c:46
#3 0x080651fe in run_kernel_thread (fn=0x804a53a <start_kernel_proc>, arg=0x0, jmp_ptr=0x82247fc)
at /jingsheng/linux_src/linux-2.6.36/arch/um/os-Linux/process.c:267
#4 0x08058835 in new_thread_handler () at /jingsheng/linux_src/linux-2.6.36/arch/um/kernel/process.c:153
#5 0x00000000 in ?? ()
(gdb) l
371 return start_uml();
372 }
373
374 void __init setup_arch(char **cmdline_p)
375 {
376 paging_init();
377 strlcpy(boot_command_line, command_line, COMMAND_LINE_SIZE);
378 *cmdline_p = command_line;
379 setup_hostinfo(host_info, sizeof host_info);
380 }
(gdb) p command_line
$3 = "kernel loglevel=7 root=98:0", '\000' <repeats 4068 times>
(gdb)