Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器 软件资源

软件开发小程序制作系统集成与运维空间租用硬件开发视频监控技术咨询与支持——联系电话:0311-88999002/88999003

首页 / 操作系统 / Linux

Eclipse无法编译Android故障排除

Eclipse无法编译Android故障排除

更新了一下Android sdk,中途拔了几次网线?总之更新完毕后,总是提示有若干可用更新,但更新完成后还是提示。没把这事当回事。今天出问题了,每个项目都有错误,看看错误提示,都是这个:com.android.ide.eclipse.adt.internal.project.AndroidManifestHelper以为是环境变量有问题,新建android的demo工程,各版本的demo均定位准确,排除。打开eclipse的错误日志,发现一条重要 信息:!...
Dm9000aep在u-boot下网卡驱动调试笔记

Dm9000aep在u-boot下网卡驱动调试笔记

最近在将u-boot1.3.4移植到三星s5pc100 SOC平台发现u-boot启动之后无法ping通主机,也不能用tftp下载内核。硬件平台用的网卡芯片是dm9000aep,这是一款全集成,性价比高的快速以太网MAC控制器,支持8-bit和16-bit数据宽度,带有一个通用处理器接口,EEPROM接口,10M/100M自适应,带有16KB的SRAM(13KB作为接受FIFO,3KB作为发送FIFO)。Dm9000a在嵌入式平台中应用非常广。因为在开发过...
Android gprof使用介绍

Android gprof使用介绍

gprof介绍gprof是GNU profiler工具。可以显示程序运行的“flat profile”,包括每个函数的调用次数,每个函数消耗的处理器时间。也可以显示“调用图”,包括函数的调用关系,每个函数调用花费了多少时间。还可以显示“注释的源代码”,是程序源代码的一个复本,标记有程序中每行代码的执行次数。为gprof编译程序在编译或链接源程序的时候在编译器的命令行参数中加入“-pg”选项,编译时编译器会自动在目标代码中插入用于性能测试的代码片断,这些代码...
Linux debug : addr2line追踪出错地址

Linux debug : addr2line追踪出错地址

调试zSeries上的Linux应用程序类似于调试其他体系结构上的Linux应用程序。对于有经验的Linux开发人员,最大的挑战是理解新的系统体系结构。对于刚接触Linux的大型机开发人员,掌握新的调试工具似乎是一项令人畏惧的任务。不要害怕。本文将提供一些有用的提示来帮助您入门。 学问来自实践,但是对于调试工具,在没有出现问题而迫使您去修复它们之前,“实践”是不会发生的。考虑到这点,下面将提供让您入门的“速成”指南。 User Debug 日志记录 调试一...
Android调试.so库常用工具

Android调试.so库常用工具

readelf显示目标ELF文件的信息,比如信赖库,头信息,段信息等。addr2line用户进程崩溃时内核会记录一些基本的调试信息,如果进程执行的ELF文件包含调试符号,就可以通过addr2line找到源文件中哪一行出问题。我在调试Android的VM崩溃问题时使用到了这个工具(详细过程参考这里http://www.linuxidc.com/Linux/2011-05/35782.htm)nm列出目标文件的符号清单,当没有输入文件名时,默认为a.out。s...
Webkit如何绑定JS引擎

Webkit如何绑定JS引擎

有两种方式可以控制在WebCore中使用哪个JS引擎。1、设置JS_ENGINE变量。有两个值:jsc,v8。这是最方便的方式2、如果JS_ENGINE变量没有设置,或者设置的值不是jsc,v8其中的一个的话,这个makefile会选择一个默认的引擎进行编译。对于默认引擎的选择,主要取决于两个变量ARCH_ARM_HAVE_VFP(是否支持VFP)和USE_ALT_JS_ENGINE(与安装buildbot有关,这里不考虑,略过)。如果ARCH_ARM_H...
打开Android系统中的JNI调试

打开Android系统中的JNI调试

VM启动时需要一些启动参数,包含标准参数和非标准参数。这里涉及到两个标准参数:-Xcheck:jni和-verbose:jni。这两个参数都设置的话,JNI调用路径就可以由dalvikvm打印出来,并通过logcat看到。可以在下面这个文件中控制是否为VM添加这两个启动参数。/frameworks/base/core/jni/AndroidRuntime.cpp先看一下第一个代码片段property_get("dalvik.vm.checkjni", pr...
在Android源码的JavaScriptCore引擎中添加LOG

在Android源码的JavaScriptCore引擎中添加LOG

在源码中添加LOG的话,使用下面的两种方式<cutils/log.h>或<utils/Log.h>using namespace Android;然后再Android.mk中添加liblog就可以了。在调试Webkit中的JavaScriptCore时,发现有些.cpp文件使用上面这两种方式时,编译可以通过,但LOGW等方法打印不出来。搜索了一下,发现一篇文章提到了另外的方法,稍做更改后,试了一下,问题解决。1、按文章提到的添加头文...
Java教程:JVM启动参数

Java教程:JVM启动参数

java启动参数共分为三类;其一是标准参数(-),所有的JVM实现都必须实现这些参数的功能,而且向后兼容;其二是非标准参数(-X),默认jvm实现这些参数的功能,但是并不保证所有jvm实现都满足,且不保证向后兼容;其三是非Stable参数(-XX),此类参数各个jvm实现会有所不同,将来可能会随时取消,需要慎重使用;标准参数中比较有用的:verbose -verbose:class 输出jvm载入类的相关信息,当jvm报告说找不到类或者类冲突时可此进行诊断...
Java -verbose命令

Java -verbose命令

java -verbose[:class|gc|jni] 在输出设备上显示虚拟机运行信息。1.java -verbose:class在程序运行的时候究竟会有多少类被加载呢,一个简单程序会加载上百个类的!你可以用verbose:class来监视,在命令行输入java -verbose:class XXX (XXX为程序名)你会在控制台看到加载的类的情况。verbose和verbose:class含义相同,输出虚拟机装入的类的信息,显示的信息格式如下: [Lo...
在Android的源码中添加LOG

在Android的源码中添加LOG

想在Opencore代码中添加打印信息,但是使用OpenCore自带的PVLOGGER,有一定的局限,因为只能在创建对象调用相应的ThreadLogon()后才能使用。所以不能实现在任何函数中添加。于是通过添加Log.h的方法来添加。首先转下别人的经验我试了下还是出先undefined reference to `__Android_log_write"错误1:在编译so文件的c或cpp文件之前中加入以下代码,就可以在android中的log显示日志内容 ...
Linux 2.6.32的内核栈和用户空间栈关系

Linux 2.6.32的内核栈和用户空间栈关系

1.进程的堆栈内核在创建进程的时候,在创建task_struct的同事,会为进程创建相应的堆栈。每个进程会有两个栈,一个用户栈,存在于用户空间,一个内核栈,存在于内核空间。当进程在用户空间运行时,cpu堆栈指针寄存器里面的内容是用户堆栈地址,使用用户栈;当进程在内核空间时,cpu堆栈指针寄存器里面的内容是内核栈空间地址,使用内核栈。2.进程用户栈和内核栈的切换当进程因为中断或者系统调用而陷入内核态之行时,进程所使用的堆栈也要从用户栈转到内核栈。进程陷入内核...
Linux编译链接问题----静态库和动态库

Linux编译链接问题----静态库和动态库

1. Linux静态库和动态库的命名规则:静态函数库:静态库的名字一般是libxxx.a,利用静态库编译生成的文件比较大,因为整个静态库所有的数据都会被整合进目标代码中。a) 优点:编译后,可执行文件不需要外部支持;b) 缺点:生成的可执行程序大;静态库改变了,就需要重新编译可执行程序。动态函数库:动态库的名字一般是libxxx.so,相对于静态库,动态函数库在编译的时候并没有被编译进目标代码中,你的程序执行到相关函数时才调用函数库里面相应的函数,因此使用...
Linux 2.6 内核软中断(softirq)执行分析

Linux 2.6 内核软中断(softirq)执行分析

今天无意中看了眼 Linux 2.6 内核的软中断实现,发现和以前我看到的大不相同(以前也是走马观花,不大仔细),能说改动非常大。连 softirq 的调用点都不相同了,以前是三个调用点,今天搜索了一下原始码,发目前多出了ksoftirqd 这个东西后,softirq 在系统中的调用点仅是在 ISR 返回时和使用了 local_bh_enable() 函数后被调用了。网卡部分的显示调用,我觉得应该不算是系统中的调用点。ksoftirqd 返回去调用 do_...
<< 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 >>