diff --git a/study/debug/modules/oops/README.md b/study/debug/modules/oops/README.md new file mode 100644 index 0000000..226b31c --- /dev/null +++ b/study/debug/modules/oops/README.md @@ -0,0 +1,47 @@ +| CSDN | GitHub | +|:----:|:------:| +| [Aderstep--紫夜阑珊-青伶巷草](http://blog.csdn.net/gatieme) | [`AderXCoding/system/tools`](https://github.com/gatieme/AderXCoding/tree/master/system/tools) | + + +
+知识共享许可协议 +本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可, 转载请注明出处 +
+ + +[转载_Linux内核OOPS调试](http://blog.csdn.net/tommy_wxie/article/details/12521535) + + +[kernel panic/kernel oops分析](http://blog.chinaunix.net/uid-20651662-id-1906954.html) + + +[DebuggingKernelOops](https://wiki.ubuntu.com/DebuggingKernelOops) + + +[kerneloops package in Ubuntu](https://launchpad.net/ubuntu/+source/kerneloops) + + +[Understanding a Kernel Oops!](http://opensourceforu.com/2011/01/understanding-a-kernel-oops/) + + +[Kernel oops错误](http://blog.163.com/prodigal_s/blog/static/204537164201411611432884/) + + +[Kernel Oops Howto](http://madwifi-project.org/wiki/DevDocs/KernelOops) + + +[Kernel Panics](https://wiki.archlinux.org/index.php/Kernel_Panics) + +[WiKipedia](https://en.wikipedia.org/wiki/Linux_kernel_oops) + +知识共享许可协议 +
+本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可 + + +http://www.davidhill.co/2012/02/enable-esxi-shell-vsphere-5-0/ + + +https://zhidao.baidu.com/question/583512262.html + +http://blog.csdn.net/yumushui/article/details/38776603 diff --git a/study/debug/modules/oops/apiopps b/study/debug/modules/oops/apiopps new file mode 100755 index 0000000..2e717b6 Binary files /dev/null and b/study/debug/modules/oops/apiopps differ diff --git a/study/debug/modules/oops/apiopps.c b/study/debug/modules/oops/apiopps.c new file mode 100644 index 0000000..07630af --- /dev/null +++ b/study/debug/modules/oops/apiopps.c @@ -0,0 +1,21 @@ +/************************************************************************* + > File Name: apiopps.c + > Author: GatieMe + > Mail: gatieme@163.com + > Created Time: Sat 08 Apr 2017 08:27:08 PM CST + ************************************************************************/ + +#include +#include + +const char array[] = "\x6b\xc0"; + +int main(int argc, char *argv[]) +{ + printf("%p\n", array); + *(int *)0 = 0; + + return EXIT_SUCCESS; +} + + diff --git a/study/debug/modules/oops/kerneloops.c b/study/debug/modules/oops/kerneloops.c new file mode 100644 index 0000000..c3b0af0 --- /dev/null +++ b/study/debug/modules/oops/kerneloops.c @@ -0,0 +1,24 @@ +// http://blog.csdn.net/tommy_wxie/article/details/12521535 +// http://blog.chinaunix.net/uid-20651662-id-1906954.html +// +#include +#include + +static int __init hello_init(void) +{ + int *p = 0; + + *p = 1; + + return 0; +} + +static void __exit hello_exit(void) +{ + return; +} + +module_init(hello_init); +module_exit(hello_exit); + +MODULE_LICENSE("GPL"); diff --git a/study/debug/tools/systemtap/00-code/hello-world.stp b/study/debug/tools/systemtap/00-code/hello-world.stp new file mode 100644 index 0000000..33fc1ee --- /dev/null +++ b/study/debug/tools/systemtap/00-code/hello-world.stp @@ -0,0 +1,6 @@ +probe begin +{ + print("Hello Wordl\n") + exit() +} +