Dowemo
0 0 0 0

Systemtap advanced
Error executing hello word command:
stap -e 'probe begin { log("hello world") exit() }'

From the error, just compare the time difference, and the difference isn't, if you can't compare the time, perhaps the problem is solved ( in fact, we

By using the stap -v option ( more than a few v, the more v, the more information is available ), as follows:

And then open the file:/tmp/stapjbY7L4/stap_19453_src.c, the error location is as follows:

From the above figure:

If you don't define a constant stapconf_generated_compile that won't lead to this logic, the problem may be solved, where stapconf_generated_compile is defined.

In fact, it's defined in a. h next to that. h and the. c is generated dynamically in the directory, and the makefile has the following logic:

@if $(CHECK_BUILD) $(SYSTEMTAP_RUNTIME)/linux/autoconf-generated-compile.c >/dev/null2>&1;then echo "#define STAPCONF_GENERATED_COMPILE 1";fi>> $@

Unfortunately the makefile itself is dynamically generated:

  • Either the return value is"false"by modifying some of the files related to the if logic above"
    I'm using a file: A/usr/share/systemtap/runtime/linux/autoconf-generated-compile.c content is simple:
#include<generated/compile.h>char* x = UTS_VERSION;

In the case of the problem, <generated/compile. H> is under which directory?
  • Either find where the makefile is generated, remove the logic
    I found it simple. I didn't find it.

There's nothing else.

Because systemtap relies on less, one of the rpm packages is the kernel devel, and suspect that the problem appears in the kernel devel, then search for uts_version this constant in the file, and find the file: /usr/src/kernels/3.10. 0-229. 14. 1. El7. x86_64/include/generated/compile. H ( this isn't just the <generated/compile. H> above )? The contents are as follows:

Finally, we found uts_version, directly modified the uts version of the problem.

It's said that this constant information is generated automatically when the kernel is compiled ( can be seen from the first line of the file ), so every compilation time

As mentioned above, I've made an error that's like this:

My kernel devel is downloaded from http://rpm. Pbone. Net/, where the rpm package is a distribution property, which I've been able to download at least one, but at least the time is different, and the centos7 download, reinstall, problem resolution.

New downloaded rpm package file usr src kernels 3. 10. 0-229. 14. 1. El7. x86_64/include/generated/compile. H as follows:

Summary: the introduction of systemtap is much harder, and the strict kernel version number and yum install.




Copyright © 2011 Dowemo All rights reserved.    Creative Commons   AboutUs