Git Product home page Git Product logo

Comments (9)

simark avatar simark commented on September 20, 2024 1

I will be very curious at how compatible Theia's vscode extension compatibility is as we wrap this up in a webview and message back to the main process to call into the debugger APIs.

It will likely be very broken in Theia, but we'll need to work to make it run :).

from cdt-gdb-vscode.

dschaefer avatar dschaefer commented on September 20, 2024

So my current thinking is to do something similar to PlatformIO. (Funny story about that, even though it's on npm, their debug extension code is actually close sourced. Which is fine, just weird.)

Add a view for "Memory" in the Debug activity. Each entry in the view is a memory range. Add commands and menus to add/remove them. When you click on a range, we open up a webview panel to render the memory contents.

The list of active ranges should be based on the current debug session. Just need to figure out how to use the API to manage that.

from cdt-gdb-vscode.

dschaefer avatar dschaefer commented on September 20, 2024

OK, this is up next for me.

from cdt-gdb-vscode.

dschaefer avatar dschaefer commented on September 20, 2024

29 days later, still thinking about it. Soon :)

Anyway, the idea is to create a webview for the Memory Browser. It would look and function like CDT's Memory Browser.

We would build it using React, since that's been most popular for a while now. Still need to see what or if which UI library we use, though, I've been using material-ui lately for stuff. Also seems quite popular.

We could also create a viewlet for the Debug view to keep a history of locations to make it easier to pop them up from session to session. Though we should also keep a history in the address field.

Any other thoughts?

from cdt-gdb-vscode.

simark avatar simark commented on September 20, 2024

Here is the current implementation in Theia:

https://github.com/eclipse/theia-cpp-extension/blob/master/packages/cpp-debug/src/browser/cpp-memory-widget.tsx

If you want to steal anything from there, I think that's fine (since both are Eclipse projects). If you want to try it and can't get it running, I'll be happy to help.

from cdt-gdb-vscode.

dschaefer avatar dschaefer commented on September 20, 2024

OK, I'll take that as permission :). Certainly give me a leg up. Thanks!

I'll assume you guys have approval to use React then. I'll need to submit a similar CQ to use it here. Hopefully I can find it and save some of the effort.

I will be very curious at how compatible Theia's vscode extension compatibility is as we wrap this up in a webview and message back to the main process to call into the debugger APIs.

from cdt-gdb-vscode.

GitMensch avatar GitMensch commented on September 20, 2024

This issue is a bit old - but maybe it is possible to now change that (possibly in Theia and here) to use the same approach as Visual Studio Code does - by using the hexedit extension and its views?

from cdt-gdb-vscode.

jonahgraham avatar jonahgraham commented on September 20, 2024

Theia has a memory inspector now that is more fully featured. Not sure how exactly it will be enabled where, but have a look at https://youtu.be/cDPAl9nzAhg?t=930 (the memory inspector starts at 15:30). The code is currently here: https://github.com/eclipse-theia/theia-cpp-extensions/tree/d537453bdc6c08fea728c54c2f9c43d7428ebb19/packages/cpp-debug#memory-widget

from cdt-gdb-vscode.

jonahgraham avatar jonahgraham commented on September 20, 2024

https://github.com/eclipse-cdt-cloud/vscode-memory-inspector is a real incoming thing now, so nothing to do here anymore.

from cdt-gdb-vscode.

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.