Git Product home page Git Product logo

Comments (5)

GGGGGHT avatar GGGGGHT commented on June 29, 2024

@jbachorik Hello, My friend can you help me.

from btrace.

jbachorik avatar jbachorik commented on June 29, 2024

Sorry for long time to reply. My main job was keeping me busy ...

This seems like a bug in the code resolving the fields by reflection.

The problem here is that the actual class name of the intercepted instance will be HelloWorldEx as the HelloWorld class is abstract and can not be instantiated. However, the intercepted method callA() is defined in HelloWorld and will be matched and instrumented because of that.

The reason for NoSuchFieldxception is the fact that the field field is declared in HelloWorld and the getDeclaredField() method used by BTrace does not perform search in type hierarchy, therefore missing the field declared in the base class.
I think this should be fixed but in the meantime you can use

Field fld = field("HelloWorld", "field");
int value = getInt(fld, thiz);
...

from btrace.

GGGGGHT avatar GGGGGHT commented on June 29, 2024

In fact, this is a bug. Is that right.

from btrace.

jbachorik avatar jbachorik commented on June 29, 2024

Yes. Any contributions would be welcome.
The fix would include only standard reflection API calls so it should be pretty easy to tackle even for newcomers.

from btrace.

GGGGGHT avatar GGGGGHT commented on June 29, 2024

Ok, I've fixed the issue, I'll add unit tests later and I'll make a pull request after verification.

from btrace.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.