Comments (2)
Hi, thanks for your interest in the project! No dumb questions here :)
I'd be happy to learn more about your use case and help any way I can.
lldb-eval
is supposed to be used as a library and it requires lldb
to work (it links against liblldb.so|dll
). You don't need to rebuild lldb
or lldb-server
, they don't know anything about lldb-eval
.
Typically lldb-eval
would be used like this:
- A "host" application (debugger or an IDE) uses
liblldb.so|dll
to start a debugging session (e.g. launch a program, run until the breakpoint, etc). - A "host" application uses
lldb-eval.so|dll
to evaluate expressions in the context of the debug session.
tools/exec is a sample application for testing that basically implements the flow described above.
It would be possible to write a dynamic plugin for LLDB for evaluating expressions using lldb-eval
, however nobody asked for that yet :)
Which OS are you using? I've tested lldb-eval
on Linux (Ubuntu) and Windows, not sure if there are any problems on macos. The command in your example should work, however it says "Can't find the breakpoint location", which suggests something fails very early in the process (link).
I've got it built (which wasn't completely straightforward)
Can you elaborate which steps were problematic? I can imagine building LLDB from scratch can be challenging, but would like to know about other difficulties as well.
from lldb-eval.
Hi, in this particular example the issue could be the way your shell processes arguments.
tools/exec
should only take a single argument "(1 + 2) * 42 / 4"
, however, your shell interprets this as a list of arguments (1
, +
, 2)
, followed by the content of working dir (multiplication operator *
treated as expansion operation).
Maybe your shell passes multi-word arguments in a different way or there are multiple levels of escaping somehow? E.g. what happens if you try to pass the argument as '(1 + 2) * 42 / 4'
or "\"(1 + 2) * 42 / 4\""
?
from lldb-eval.
Related Issues (13)
- Implement debugger intrinsic `__findnonnull`
- Build LLVM distribution with our custom patches
- Anonymous structs/unions don't work
- Upgrading lldb-eval OSS-Fuzz to Ubuntu 20.04 HOT 2
- Uber
- Support looking up functions as function pointers
- OSS-Fuzz issue 48043 HOT 1
- OSS-Fuzz issue 49728 HOT 1
- Incorrect member resolution for classes with multiple non-empty bases
- Support macro expansion
- updating OSS-Fuzz releases HOT 1
- OSS-Fuzz issue 60538
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from lldb-eval.