Comments (14)
Any chance of this being looked at?
from lldb-mi.
I seem to have the same issue when I try to debug a Google Test UnitTest with the TestMate C++ extension.
There are more details here:
microsoft/vscode-cpptools#9831
I hit the issue with a code like this. In this context it is reproducible 100%. In other context there is no issue.
struct KeepAlive
{
/**
* @brief `KeepAlive` subkeys.
*
*/
enum class Subkey
{
/// Subkey `AfterInitialDemand` - delaying the start.
AfterInitialDemand,
/// Subkey `Crashed` - depending on crashes.
Crashed,
/// Subkey `NetworkState` - depending on network availability.
NetworkState,
/// Subkey `OtherJobEnabled` - depending on other jobs.
OtherJobEnabled,
/// Subkey `PathState` - depending on the existence of a path.
PathState,
/// Subkey `SuccessfulExit` - depending on the last exit status.
SuccessfulExit,
};
/**
* @brief `KeepAlive` subkey value types.
*
*/
struct SubkeyValueType
{
/// Subkey `AfterInitialDemand` - delaying the start.
using AfterInitialDemand = std::map<std::string, bool>;
/// Subkey `Crashed` - depending on crashes.
using Crashed = bool;
/// Subkey `NetworkState` - depending on network availability.
using NetworkState = bool;
/// Subkey `OtherJobEnabled` - depending on other jobs.
using OtherJobEnabled = std::map<std::string, bool>;
/// Subkey `PathState` - depending on the existence of a path.
using PathState = std::map<std::string, bool>;
/// Subkey `SuccessfulExit` - depending on the last exit status.
using SuccessfulExit = bool;
};
/**
* @brief A `variant` of `KeepAlive` subkey value types.
*
*/
using SubkeyType = ::boost::variant2::variant<
KeepAlive::SubkeyValueType::AfterInitialDemand,
KeepAlive::SubkeyValueType::Crashed,
KeepAlive::SubkeyValueType::NetworkState,
KeepAlive::SubkeyValueType::OtherJobEnabled,
KeepAlive::SubkeyValueType::PathState,
KeepAlive::SubkeyValueType::SuccessfulExit>;
};
tl::optional<
::boost::variant2::variant<bool, std::map<ILaunchdPlist::KeepAlive::Subkey, ILaunchdPlist::KeepAlive::SubkeyType>>>
LaunchdPlist::GetKeepAlive() const noexcept
{
...
}
TEST_F(LaunchdPlistTest, GetKeepAliveBool)
{
// Binary plist
auto valueOpt = LaunchdPlistTest::GetValidBinaryPlist()->GetKeepAlive();
EXPECT_TRUE(valueOpt.has_value());
from lldb-mi.
Is this perhaps related to microsoft/vscode-cpptools#7240 (comment)? @shiretu posted his workaround there. Further comment:
This is truly a problem with the lldb. See my patch above. lldb is out-of-bounds-ing on walking uninitialized variables with garbage values on things like internal counters and sizes. My quick yet brutal fix is to limit these things to 64.
Unfortunately, VSCode tries to render all local variables in the current scope. And when it reaches one of those not-yet-initialized vars, it behaves like that.
from lldb-mi.
Same here:
#96 #89
VSCode is rendered useless because of this in a complex scenario of C++ templates, abstract classes and Google Test.
I can confirm now that this issue happened to me on Intel macOS BigSur but it is very, very common and reproducible on M1 in the above scenario.
from lldb-mi.
related microsoft/vscode-cpptools/issues/10176
from lldb-mi.
Same issue here.
from lldb-mi.
I can confirm this is also happening on Monterey on Intel Mac.
from lldb-mi.
We need a programmer to solve this bug : )
from lldb-mi.
If I stop debugging the lldb-mi process stays running at 100% CPU.
from lldb-mi.
After several runs I have multiple lldb-mi instances:
from lldb-mi.
@sunshaoce This is getting a major issue. CodeLLDB also stopped working recently.
from lldb-mi.
microsoft/vscode-cpptools#7240
Here seems to be a feasible solution, can any Mac users help test it out?
from lldb-mi.
Same thing to me after this much time, on vs code
from lldb-mi.
Did you build the latest lldb-mi (a6c8c66)?
from lldb-mi.
Related Issues (20)
- [Docs] Building on macOS HOT 2
- `-break-insert` response doesn't respect `target.source-map`
- `breakpoint-hit` event doesn't respect `target.source-map` for remote target
- Feature Request: add support for '@' parameter in the command "var-create"
- Build issue on Linux (Ubuntu 20) HOT 8
- Version: GNU gdb (GDB) 7.4
- lldb-mi build fails on linux with "Undefined symbol: llvm::Twine::str() const" HOT 1
- lldb-mi exits launching my application with SIGKILL HOT 2
- lldb-mi hangs and starts consuming more and more memory when stopping at certain breakpoints in vscode-cpptools HOT 4
- Build failure on Ubuntu 20 LTS. HOT 13
- Feature request: may you please move this project back to llvm project? HOT 1
- build failed on ubuntu20 HOT 1
- lldb-mi prints extra characters, carriage return, etc. HOT 1
- Error while building this package HOT 4
- Windows breakpoint not working HOT 4
- lldb-mi hangs on MacOS HOT 2
- error build in alt linux
- Incorrect fullname under windows when lldb-mi startup path and source path are not in the same partition
- ModuleNotFoundError: No module named 'lldb'
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-mi.