Amy:IeatgoodriceRichard:Iamhandysomeboy
51CTO博客开发嵌入式技术
偶尔用Python做点事情,用的时候隔了许久,又不太记得了,有时连基本的语法都忘掉,这里记录在一张纸上,方便查看。也涵盖比较实用的内容,方便信手捻来(我没写错吧)其中代码片段主要摘自前段时间写的一些Python代码。Python Help>>> python(“subprocess”)帮助是很重要,linux程序员,你懂的Python tutorialhttps://docs.p
do_page_fault() #2: sending SIGSEGV to linux_stb for invalid read access from 00000000 (epc == 00000000, ra == 00000000) 因为缺少正确的$ra,linux gdb也无法显示调用栈。 可能的原因很多,比如该线程的内核栈被冲掉(可能性较少,因为内核栈应用层改不到)。 或者,该
很多时候,内核oops还是很好处理的,因为可以看到当时的函数调用栈。objdump -DS vmlinux,配合epc(程序指针)可以定位情况发生时的代码位置。有些调试器,支持断点地址设置,可以直接显示问题发生时的代码位置。 然而,当系统陷入某种死锁状态。又比如应用程序进行的系统调用不能退出等等。这种情况下,显示当前所有线程的当前函数调用栈就有很大的帮助作用了。 我们可以通过外部触发事件,比如
一个死锁问题,费了多天的时间。中间为了寻找通用的解决办法,整合各种知识和技巧。 最后发现仅是一个计数问题。然而找到问题根源的时候,却也莫名的舒畅。这大概是年轻时候总能对程序生活充满热情的原因之一吧,尽管这种乐趣比较初级。 30多了,还未转型,诸多原因。而对技术寻根究底的天性也是让我执著于此的原因之一吧。
记得以前学<<Linux Device Driver>>中断的章节,找了一块PCI转并口的卡,然后焊了一块小板,手动去触发中断。 最近看<<linux Kernel development>>中断的章节,已经是两年后了。因为找到了在虚拟机下调试内核的方法,所以也希望调试中断的实现可以在虚拟机下完成,而不是再去焊一块板子。 virtualbox
1. nfs验证 验证NAT模式下Guest机器是否能mount上Host机器的nfs sudo mount 192.168.1.102:/home/qianjiang/pls temp/ mount: wrong fs type, bad option, bad superblock on 192.168.1.102:/home/qianjiang/pls, &nbs
思路是,通过网络(pc的pxe特性)下载grub到虚拟机,然后下载vmlinux(实质是tftp)到虚拟机,可以调试内核. 其中的串口虚拟,主要是使得打印可以显示到主机的minicom中。 1. 虚拟串口 Go to the settings of your virtual machine, then at the "Serial Ports" and enable &
Source Insight是我曾经在windows下做开发最喜欢的工具之一,另外一个是Beyond compare. 自从用上Ubuntu后,两年来基本没有用过Source Insight了。 一直在用vim,包括安装了各种插件,还有自己也写过vim的插件,很多命令也掌握了。但是,总还是有点费心费力,不如Source Insight那么傻瓜。 所以,一直还有学习Emac的冲动,听说很简单。
问题如下: qianjiang@qianjiang-pc:~/pls/newsdk/stapisdk/apilib/src$ make ---- Building libstapi_stpti4.a ---- ---- Building build_all_linux ---- make[4]: *** No targets specified and no makefile found.
>>> Linux Kernel <<< 发现错误 cc1: error: unrecognized command line option "-ml" make带上V=1发现 gcc -Wp,-MD,kernel/.bounds.s.d -nostdinc -isystem /usr/lib/i38
Toolset 的安装参考Linux Installation即可 遇到下面的问题: 运行sh4xrun -c mediarefsim -e a.out 时,提示 sh4sim: error while loading shared libraries: libstdc++.so.5: cannot open shared object file: No such file or di
参考Android的guide. http://source.android.com/source/initializing.html 如果你的Ubuntu是32位的操作系统,建议下载Froyo或更老的版本。如果你要编译新的版本如Ginger bread,最好先把你的系统升级到64位。 另外在安装需要的包时, sudo apt-get install git-core gnupg f
. 通过Ubuntu的Software Center安装的版本偏低,不能支持USB设备。所以要到VirtualBox的网站去下载最新的版本。 . USB的支持除了要在设置栏打开EHCI,并且设置filter外,要把自身加入到vboxuser的group中,并且重启机器和virtualbox才能生效。System->Administration->Users and Groups进行
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号