Code Monkey home page Code Monkey logo

Comments (3)

eranif avatar eranif commented on August 16, 2024

Here is fine. I don't mind discussions here

I usually prefer the m_client.Reset() since I don't really want to rely on an external implementation to implement this for me, consider the option that the process might crash or fail to follow the protocol to the letter?

In my implementation within CodeLite, I handle all cases like this:

DoCleanup() does the following:

  • Removes the debugger marker from the UI
  • calls m_client.Reset()
  • Terminates the dap server (codelldb or lldb-vscode or whatever)

Some notes and observations from testing it against 2 servers:

You should note that I am testing the demo against two dap-servers: codelldb and lldb-vscode (my personal favorite)
There are problems, but in general, lldb-vscode (from the LLVM team, the people how wrote clang and clangd) seems the better and more reliable to me

There is an issue with setting breakpoints, you can add function breakpoint (click on the new button I added to the UI and type the function name). However, placing breakpoints with file:line format does not work reliably. It only works when passing relative file path (e.g main.cpp instead of C:\src\main.cpp) - this looks like a bug to me (lldb-vscode can handle full paths, but it requires some strange format like /Users/eran/src/main.cpp instead of native format like C:\Users\eran\src\main.cpp)

from wxdap.

acotty avatar acotty commented on August 16, 2024

Thanks very much for the post.
I found some issues with the codelldb and now that I have started to use lldb-vscode I have found it to be more reliable.

I have just started to add breakpoint support and have to modify the code to make the path relative as I am using the GDB/MI code as a starting point.

The lldb-vscode path looks like a CygWin path and I had to do this conversion last year when I updated the Cygwin debugging support to work in C::B. If you look in the https://github.com/acotty/CodeBlocks_Unofficial_Testing/blob/master/src/sdk/cygwin.cpp file and look at the GetCygwinPath() function that I did to make the conversion. Unfortunately I used the Cygwin cygpath.exe so it will not work, but will give you some pointers if you do want to eventually use lldb-vscode.

from wxdap.

acotty avatar acotty commented on August 16, 2024

I have breakpoint working (no s) as the existing code sets one breakpoint in a file at a time and needs to be refactored.

from wxdap.

Related Issues (7)

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.