QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1304|回复: 2

这里都是GDB的老大,请教命令n为何会这样

[复制链接]
发表于 2004-6-29 02:26:48 | 显示全部楼层 |阅读模式
[root@mylabtop uClinux-dist]# skyeye linux-2.6.x/linux
GNU gdb 5.3
Copyright 2002 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
***************************************************************
************   SkyEye is Simulator based on GDB   *************
***************************************************************
This SkyEye was configured as "--host=i686-pc-linux-gnu --target=arm-elf"...
(SkyEye) target sim
cpu info: armv3, arm7tdmi, 41007700, fff8ff00, 0
mach info: name at91, mach_init addr 0x813dad4
SKYEYE: use arm7100 mmu ops
Loaded ROM ./romfs.img
Connected to the simulator.
(SkyEye) load
Loading section .init, size 0xb000 vma 0x1000000
Loading section .text, size 0xa0b98 vma 0x100b000
Loading section __ex_table, size 0x5b8 vma 0x10abba0
Loading section .data, size 0x8ef8 vma 0x10ae000
Start address 0x1000000
Transfer rate: 5931584 bits in <1 sec.
(SkyEye) break setup_arch
Breakpoint 1 at 0x1003e00: file arch/armnommu/kernel/setup.c, line 662.
(SkyEye) run
Starting program: /root/uclinux/uClinux-dist/linux-2.6.x/linux

Breakpoint 1, setup_arch (cmdline_p=0x10c2d9 at arch/armnommu/kernel/setup.c:662
662     {
(SkyEye) bt
#0  setup_arch (cmdline_p=0x10c2d9 at arch/armnommu/kernel/setup.c:662
#1  0x0100049c in start_kernel () at init/main.c:414
(SkyEye) si
665             char *from = default_command_line;
(SkyEye) si
667             setup_processor();
(SkyEye) si
setup_processor () at arch/armnommu/kernel/setup.c:262
262             for (list = &__proc_info_begin; list < &__proc_info_end ; list++)
(SkyEye) n
setup_processor () at arch/armnommu/kernel/setup.c:263
263                     if ((processor_id & list->cpu_mask) == list->cpu_val)
(SkyEye) n
262             for (list = &__proc_info_begin; list < &__proc_info_end ; list++)
(SkyEye) n
263                     if ((processor_id & list->cpu_mask) == list->cpu_val)
(SkyEye) n
262             for (list = &__proc_info_begin; list < &__proc_info_end ; list++)
(SkyEye) n
263                     if ((processor_id & list->cpu_mask) == list->cpu_val)
(SkyEye) n
262             for (list = &__proc_info_begin; list < &__proc_info_end ; list++)
(SkyEye) n
263                     if ((processor_id & list->cpu_mask) == list->cpu_val)
(SkyEye) n
262             for (list = &__proc_info_begin; list < &__proc_info_end ; list++)
(SkyEye) n
263                     if ((processor_id & list->cpu_mask) == list->cpu_val)
(SkyEye) n
262             for (list = &__proc_info_begin; list < &__proc_info_end ; list++)
(SkyEye) n
263                     if ((processor_id & list->cpu_mask) == list->cpu_val)
(SkyEye) n
262             for (list = &__proc_info_begin; list < &__proc_info_end ; list++)
(SkyEye) n
263                     if ((processor_id & list->cpu_mask) == list->cpu_val)
(SkyEye) n
270             if (list >= &__proc_info_end) {
(SkyEye) n
276             cpu_name = list->cpu_name;
(SkyEye) n
285             printk("CPU: %s [%08x] revision %d (ARMv%s)\n",
(SkyEye) n
276             cpu_name = list->cpu_name;
(SkyEye) n
285             printk("CPU: %s [%08x] revision %d (ARMv%s)\n",
(SkyEye) n       <<<<<<<<<<<<<这一步直接执行完程序是否有问题?我不道跟gdb还是skyeye有关>>>>>>>>>>>>>
Linux version 2.6.5-hsc1 (root@mylabtop) (gcc version 2.95.3 20010315 (release)(ColdFire patches - 20010318 from http://fiddes.net/coldfire/)(uClinux XIP and shared lib patches from http://www.snapgear.com/)) #1 Fri Jun 25 14:34:40 CST 2004
CPU: Atmel-AT91M40xxx [14000040] revision 0 (ARMvundefined/unknown)
Machine: ATMEL EB01
On node 0 totalpages: 1024
  DMA zone: 0 pages, LIFO batch:1
  Normal zone: 1024 pages, LIFO batch:1
  HighMem zone: 0 pages, LIFO batch:1
Built 1 zonelists
Kernel command line: root=/dev/ram0 initrd=0x01300000,900k keepinitrd
PID hash table entries: 32 (order 5: 256 bytes)
Memory: 4MB = 4MB total
Memory: 2348KB available (642K code, 92K data, 44K init)
Calibrating delay loop... 15.87 BogoMIPS
Dentry cache hash table entries: 1024 (order: 0, 4096 bytes)
Inode-cache hash table entries: 1024 (order: 0, 4096 bytes)
Mount-cache hash table entries: 512 (order: 0, 4096 bytes)
checking if image is initramfs...it isn't (ungzip failed); looks like an initrd
POSIX conformance testing by UNIFIX
Linux NoNET1.0 for Linux 2.6
Atmel USART driver version 0.99
ttyS0 at 0xfffd0000 (irq = 2) is a builtin Atmel APB USART
ttyS1 at 0xfffcc000 (irq = 3) is a builtin Atmel APB USART
RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize
loop: loaded (max 8 devices)
RAMDISK: romfs filesystem found at block 0
RAMDISK: Loading 828 blocks [1 disk] into ram disk... done.
VFS: Mounted root (romfs filesystem) readonly.
Freeing init memory: 44K
Shell invoked to run file: /etc/rc
Command: hostname GDB-ARMulator
Command: /bin/expand /etc/ramfs.img /dev/ram1
Command: mount -t proc proc /proc
Command: mount -t ext2 /dev/ram1 /var
Command: mkdir /var/tmp
Command: mkdir /var/log
Command: mkdir /var/run
Command: mkdir /var/lock
Command: mkdir /var/empty
Command: cat /etc/motd
Welcome to
          ____ _  _
         /  __| ||_|
    _   _| |  | | _ ____  _   _  _  _
   | | | | |  | || |  _ \| | | |\ \/ /
   | |_| | |__| || | | | | |_| |/    \
   |  ___\____|_||_|_| |_|\____|\_/\_/
   | |
   |_|

GDB/ARMulator support by <[email protected]>
For further information check:
http://www.uclinux.org/

Execution Finished, Exiting

Sash command shell (version 1.1.1)
/>
Sash command shell (version 1.1.1)
/>
================
请看有 <<<标注的地方。我没有料到他不是在下一步停下,而是一直执行完了。
 楼主| 发表于 2004-6-29 02:39:21 | 显示全部楼层

再请教一个无法设定断点的问题

(SkyEye) load
Loading section .init, size 0xb000 vma 0x1000000
Loading section .text, size 0xa0b98 vma 0x100b000
Loading section __ex_table, size 0x5b8 vma 0x10abba0
Loading section .data, size 0x8ef8 vma 0x10ae000
Start address 0x1000000
Transfer rate: 5931584 bits in <1 sec.
(SkyEye) b printk.c:printk
Note: breakpoints 11 and 12 also set at pc 0x101bbf0.
Breakpoint 13 at 0x101bbf0: file include/asm-arm/semaphore.h, line 55.
(SkyEye) b kernel/printk.c:printk
Note: breakpoints 11, 12 and 13 also set at pc 0x101bbf0.
Breakpoint 14 at 0x101bbf0: file include/asm-arm/semaphore.h, line 55.
(SkyEye)
=============

include/asm-arm/semaphore.h 是没有printk函数的,怎样才能设定到这个断点呢。

拜托,谢谢。
回复

使用道具 举报

发表于 2004-7-1 23:06:06 | 显示全部楼层
gdb对内核设置端点的支持还不后完整。需要凑合着用
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-22 05:11 , Processed in 0.041646 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表