Chinaunix首页 | 论坛 | 博客
  • 博客访问: 120713
  • 博文数量: 29
  • 博客积分: 652
  • 博客等级: 上士
  • 技术积分: 340
  • 用 户 组: 普通用户
  • 注册时间: 2012-02-03 21:26
文章分类

全部博文(29)

文章存档

2013年(8)

2012年(21)

分类: 嵌入式

2012-05-09 13:11:17

Java可以方便的打印函数的调用栈。C/C++也可以
为了显示在vm/Misc.cpp中谁调用了函数dvmAllocRegion,在这个函数中加入下面红色代码:

点击(此处)折叠或打开

  1. #include
  2. ...
  3. void *dvmAllocRegion(size_t byteCount, int prot, const char *name) {
  4. ...
  5. #ifdef _ARM_
  6.     LOGW("name=%s", name);
  7.     android::CallStack stack;
  8.     stack.update(1, 100);
  9.     stack.dump("");
  10. #endif

  11. ...
  12. }
在vm/Dvm.mk中,加入:
  LOCAL_CFLAGS += -D_ARM_
  LOCAL_SHARED_LIBRARIES += libutils

"mmm dalvik" 得到libdvm.so。然后
adb root
adb remount
adb push libdvm.so /system/lib
adb reboot
系统重启后,新的libdvm.so就投入使用了。


阅读(13234) | 评论(2) | 转发(0) |
给主人留下些什么吧!~~

桔色花朵2012-05-10 21:31:41

学习了~~菜鸟飘过~

小豆熊2012-05-09 22:32:40

呵呵,刚好找到这个~~很不错