免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: shihyu
打印 上一主题 下一主题

[其他] kgdb bt 跟 dump_stack() 差异 [复制链接]

论坛徽章:
1
2015年迎新春徽章
日期:2015-03-04 09:49:03
11 [报告]
发表于 2015-10-13 20:24 |只看该作者
本帖最后由 shihyu 于 2015-10-13 20:25 编辑
nswcfd 发表于 2015-10-12 19:08
以下高亮部分是有区别的地方,可以发现,这些地方都没有栈的指针。
这些信息应该是gdb自己添加进去的。

...



请问怎么判断有没有栈的指针? 从代码看出来吗?


我是用 android emulator goldfish kernel 3.4
  1. CONFIG_EXPERIMENTAL=y
  2. CONFIG_SYSVIPC=y
  3. CONFIG_IKCONFIG=y
  4. CONFIG_IKCONFIG_PROC=y
  5. CONFIG_LOG_BUF_SHIFT=16
  6. CONFIG_CGROUPS=y
  7. CONFIG_CGROUP_DEBUG=y
  8. CONFIG_CGROUP_FREEZER=y
  9. CONFIG_CGROUP_CPUACCT=y
  10. CONFIG_RESOURCE_COUNTERS=y
  11. CONFIG_CGROUP_SCHED=y
  12. CONFIG_RT_GROUP_SCHED=y
  13. # CONFIG_UTS_NS is not set
  14. # CONFIG_IPC_NS is not set
  15. # CONFIG_USER_NS is not set
  16. # CONFIG_PID_NS is not set
  17. # CONFIG_NET_NS is not set
  18. CONFIG_BLK_DEV_INITRD=y
  19. CONFIG_CC_OPTIMIZE_FOR_SIZE=y
  20. CONFIG_SLAB=y
  21. # CONFIG_BLK_DEV_BSG is not set
  22. CONFIG_ARCH_GOLDFISH=y
  23. CONFIG_MACH_GOLDFISH=y
  24. CONFIG_NO_HZ=y
  25. CONFIG_HIGH_RES_TIMERS=y
  26. CONFIG_PREEMPT=y
  27. CONFIG_AEABI=y
  28. # CONFIG_OABI_COMPAT is not set
  29. CONFIG_ZBOOT_ROM_TEXT=0x0
  30. CONFIG_ZBOOT_ROM_BSS=0x0
  31. CONFIG_VFP=y
  32. # CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
  33. CONFIG_BINFMT_MISC=y
  34. CONFIG_NET=y
  35. CONFIG_PACKET=y
  36. CONFIG_UNIX=y
  37. CONFIG_NET_KEY=y
  38. CONFIG_INET=y
  39. CONFIG_IP_MULTICAST=y
  40. CONFIG_IP_ADVANCED_ROUTER=y
  41. CONFIG_IP_MULTIPLE_TABLES=y
  42. CONFIG_IP_PNP=y
  43. CONFIG_IP_PNP_DHCP=y
  44. CONFIG_IP_PNP_BOOTP=y
  45. CONFIG_IP_MROUTE=y
  46. CONFIG_IP_PIMSM_V1=y
  47. CONFIG_IP_PIMSM_V2=y
  48. CONFIG_SYN_COOKIES=y
  49. CONFIG_INET_ESP=y
  50. # CONFIG_INET_XFRM_MODE_BEET is not set
  51. # CONFIG_INET_LRO is not set
  52. # CONFIG_INET_DIAG is not set
  53. CONFIG_IPV6_MULTIPLE_TABLES=y
  54. CONFIG_NETFILTER=y
  55. # CONFIG_BRIDGE_NETFILTER is not set
  56. CONFIG_NF_CONNTRACK=y
  57. CONFIG_NF_CONNTRACK_EVENTS=y
  58. CONFIG_NF_CT_PROTO_DCCP=y
  59. CONFIG_NF_CT_PROTO_SCTP=y
  60. CONFIG_NF_CT_PROTO_UDPLITE=y
  61. CONFIG_NF_CONNTRACK_AMANDA=y
  62. CONFIG_NF_CONNTRACK_FTP=y
  63. CONFIG_NF_CONNTRACK_H323=y
  64. CONFIG_NF_CONNTRACK_IRC=y
  65. CONFIG_NF_CONNTRACK_NETBIOS_NS=y
  66. CONFIG_NF_CONNTRACK_PPTP=y
  67. CONFIG_NF_CONNTRACK_SANE=y
  68. CONFIG_NF_CONNTRACK_TFTP=y
  69. CONFIG_NF_CT_NETLINK=y
  70. CONFIG_NETFILTER_TPROXY=y
  71. CONFIG_NETFILTER_XT_TARGET_CLASSIFY=y
  72. CONFIG_NETFILTER_XT_TARGET_CONNMARK=y
  73. CONFIG_NETFILTER_XT_TARGET_IDLETIMER=y
  74. CONFIG_NETFILTER_XT_TARGET_MARK=y
  75. CONFIG_NETFILTER_XT_TARGET_NFLOG=y
  76. CONFIG_NETFILTER_XT_TARGET_NFQUEUE=y
  77. CONFIG_NETFILTER_XT_TARGET_TPROXY=y
  78. CONFIG_NETFILTER_XT_TARGET_TRACE=y
  79. CONFIG_NETFILTER_XT_MATCH_COMMENT=y
  80. CONFIG_NETFILTER_XT_MATCH_CONNBYTES=y
  81. CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=y
  82. CONFIG_NETFILTER_XT_MATCH_CONNMARK=y
  83. CONFIG_NETFILTER_XT_MATCH_CONNTRACK=y
  84. CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=y
  85. CONFIG_NETFILTER_XT_MATCH_HELPER=y
  86. CONFIG_NETFILTER_XT_MATCH_IPRANGE=y
  87. CONFIG_NETFILTER_XT_MATCH_LENGTH=y
  88. CONFIG_NETFILTER_XT_MATCH_LIMIT=y
  89. CONFIG_NETFILTER_XT_MATCH_MAC=y
  90. CONFIG_NETFILTER_XT_MATCH_MARK=y
  91. CONFIG_NETFILTER_XT_MATCH_POLICY=y
  92. CONFIG_NETFILTER_XT_MATCH_PKTTYPE=y
  93. CONFIG_NETFILTER_XT_MATCH_QTAGUID=y
  94. CONFIG_NETFILTER_XT_MATCH_QUOTA=y
  95. CONFIG_NETFILTER_XT_MATCH_QUOTA2=y
  96. CONFIG_NETFILTER_XT_MATCH_QUOTA2_LOG=y
  97. CONFIG_NETFILTER_XT_MATCH_SOCKET=y
  98. CONFIG_NETFILTER_XT_MATCH_STATE=y
  99. CONFIG_NETFILTER_XT_MATCH_STATISTIC=y
  100. CONFIG_NETFILTER_XT_MATCH_STRING=y
  101. CONFIG_NETFILTER_XT_MATCH_TIME=y
  102. CONFIG_NETFILTER_XT_MATCH_U32=y
  103. CONFIG_NF_CONNTRACK_IPV4=y
  104. CONFIG_IP_NF_IPTABLES=y
  105. CONFIG_IP_NF_MATCH_AH=y
  106. CONFIG_IP_NF_MATCH_ECN=y
  107. CONFIG_IP_NF_MATCH_TTL=y
  108. CONFIG_IP_NF_FILTER=y
  109. CONFIG_IP_NF_TARGET_REJECT=y
  110. CONFIG_IP_NF_TARGET_REJECT_SKERR=y
  111. CONFIG_NF_NAT=y
  112. CONFIG_IP_NF_TARGET_MASQUERADE=y
  113. CONFIG_IP_NF_TARGET_NETMAP=y
  114. CONFIG_IP_NF_TARGET_REDIRECT=y
  115. CONFIG_IP_NF_MANGLE=y
  116. CONFIG_IP_NF_RAW=y
  117. CONFIG_IP_NF_ARPTABLES=y
  118. CONFIG_IP_NF_ARPFILTER=y
  119. CONFIG_IP_NF_ARP_MANGLE=y
  120. CONFIG_NF_CONNTRACK_IPV6=y
  121. CONFIG_IP6_NF_IPTABLES=y
  122. CONFIG_IP6_NF_FILTER=y
  123. CONFIG_IP6_NF_TARGET_REJECT=y
  124. CONFIG_IP6_NF_TARGET_REJECT_SKERR=y
  125. CONFIG_IP6_NF_MANGLE=y
  126. CONFIG_IP6_NF_RAW=y
  127. CONFIG_BRIDGE=y
  128. CONFIG_VLAN_8021Q=y
  129. CONFIG_CONNECTOR=y
  130. CONFIG_MTD=y
  131. CONFIG_MTD_CHAR=y
  132. CONFIG_MTD_BLOCK=y
  133. CONFIG_MTD_GOLDFISH_NAND=y
  134. CONFIG_BLK_DEV_LOOP=y
  135. CONFIG_BLK_DEV_NBD=y
  136. CONFIG_BLK_DEV_RAM=y
  137. CONFIG_BLK_DEV_RAM_SIZE=8192
  138. CONFIG_QEMU_PIPE=y
  139. CONFIG_QEMU_TRACE=y
  140. CONFIG_MD=y
  141. CONFIG_BLK_DEV_DM=y
  142. CONFIG_DM_DEBUG=y
  143. CONFIG_DM_CRYPT=y
  144. CONFIG_DM_UEVENT=y
  145. CONFIG_NETDEVICES=y
  146. CONFIG_TUN=y
  147. CONFIG_SMC91X=y
  148. CONFIG_INPUT_EVDEV=y
  149. CONFIG_KEYBOARD_GOLDFISH_EVENTS=y
  150. # CONFIG_INPUT_MOUSE is not set
  151. CONFIG_INPUT_MISC=y
  152. # CONFIG_SERIO_SERPORT is not set
  153. # CONFIG_LEGACY_PTYS is not set
  154. CONFIG_GOLDFISH_TTY=y
  155. CONFIG_POWER_SUPPLY=y
  156. CONFIG_BATTERY_GOLDFISH=y
  157. # CONFIG_HWMON is not set
  158. CONFIG_FB=y
  159. CONFIG_FB_MODE_HELPERS=y
  160. CONFIG_FB_TILEBLITTING=y
  161. CONFIG_FB_GOLDFISH=y
  162. CONFIG_MMC=y
  163. CONFIG_MMC_GOLDFISH=y
  164. CONFIG_RTC_CLASS=y
  165. CONFIG_RTC_DRV_GOLDFISH=y
  166. CONFIG_STAGING=y
  167. CONFIG_ANDROID=y
  168. CONFIG_ANDROID_BINDER_IPC=y
  169. CONFIG_ASHMEM=y
  170. CONFIG_ANDROID_LOGGER=y
  171. CONFIG_ANDROID_LOW_MEMORY_KILLER=y
  172. CONFIG_ANDROID_INTF_ALARM_DEV=y
  173. CONFIG_EXT4_FS=y
  174. CONFIG_EXT4_FS_SECURITY=y
  175. CONFIG_FUSE_FS=y
  176. CONFIG_MSDOS_FS=y
  177. CONFIG_VFAT_FS=y
  178. CONFIG_TMPFS=y
  179. CONFIG_YAFFS_FS=y
  180. CONFIG_NFSD=y
  181. CONFIG_NFSD_V3=y
  182. CONFIG_NLS_CODEPAGE_437=y
  183. CONFIG_NLS_ISO8859_1=y
  184. CONFIG_MAGIC_SYSRQ=y
  185. CONFIG_DEBUG_KERNEL=y
  186. CONFIG_SCHEDSTATS=y
  187. CONFIG_SCHED_TRACER=y
  188. CONFIG_BLK_DEV_IO_TRACE=y
  189. CONFIG_CRYPTO_ECB=y
  190. CONFIG_CRYPTO_PCBC=y
  191. CONFIG_CRYPTO_SHA256=y
  192. CONFIG_CRYPTO_AES=y
  193. CONFIG_CRYPTO_TWOFISH=y
  194. # CONFIG_CRYPTO_ANSI_CPRNG is not set
复制代码

论坛徽章:
20
程序设计版块每日发帖之星
日期:2015-08-17 06:20:00程序设计版块每日发帖之星
日期:2016-07-16 06:20:00程序设计版块每日发帖之星
日期:2016-07-18 06:20:00每日论坛发贴之星
日期:2016-07-18 06:20:00黑曼巴
日期:2016-12-26 16:00:3215-16赛季CBA联赛之江苏
日期:2017-06-26 11:05:5615-16赛季CBA联赛之上海
日期:2017-07-21 18:12:5015-16赛季CBA联赛之青岛
日期:2017-09-04 17:32:0515-16赛季CBA联赛之吉林
日期:2018-03-26 10:02:16程序设计版块每日发帖之星
日期:2016-07-15 06:20:0015-16赛季CBA联赛之江苏
日期:2016-07-07 18:37:512015亚冠之萨济拖拉机
日期:2015-08-17 12:21:08
12 [报告]
发表于 2015-10-14 12:10 |只看该作者
不是,看bt的输出。注意7楼黄色行和蓝色行的区别。
#0  lowmem_shrink (s=<optimized out>, sc=0xec923c84) at drivers/staging/android/lowmemorykiller.c:89 */
#1 【0xc00a0374 in】 do_shrinker_shrink (nr_to_scan=0, sc=0xec923d78, shrinker=0xc0518488 <lowmem_shrinker> at mm/vmscan.c:277

lowmem_shrink前面没有0x.... in(【】里的部分),而do_shrink_shrink有。
lowmem_shrink没有出现在dump_stack里面。

PS1,只有配置文件的话,还是看不出来实际的gcc选项。能否参考10楼给出实际的gcc命令行?

PS2,kgdb的bt内容是命中某个breakpoint之后结果(比如这里在lowmem_shrink设置了断点),还是一步一步step in之后的结果(例如从do_page_falut设断点后命中,然后单步调试到lowmem_shrink)?


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

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP