Git Product home page Git Product logo

code-debug's People

Contributors

abussy-aldebaran avatar andyneff avatar bbenoist avatar brownts avatar chenzhiy2001 avatar coldencullen avatar evangrayk avatar fafa1412 avatar gentoo90 avatar gitmensch avatar kvinwang avatar leszekswirski avatar martin-fleck-at avatar marus avatar mrmaxmeier avatar myrfy001 avatar ndk4 avatar nomtats avatar ntoskrnl7 avatar oltolm avatar rafmudaf avatar reznikmm avatar rookwood101 avatar simark avatar webfreak001 avatar werifu avatar wosi avatar wujingbang avatar yanpas avatar zhangly1234 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

code-debug's Issues

[Discussion] Does this project need a prettier?

项目问题:
原仓库没有对代码风格进行自动化的修正,每个人编写时会使用自己的默认VSCode风格(比如tab缩进单元、单双引号),作为多人协作项目可能面临代码格式差别过大导致可读性下降以及不一致的问题,同时自己进行 format 时可能会影响到其他人的代码,不利于对 pr 的 code review(虽然不一定有)

解决方案:
配置一个统一的.prettier,尽量遵从原仓库的代码风格,如:不使用空格代替tab、缩进2格、使用双引号来表示字符串等,以减少对原仓库的影响,同时

缺陷:
因为原仓库代码风格本身也不是很一致,因此第一次 format 一定会对现有代码产生大量的变更,现在已有的工作可能需要解决大量的冲突。

不知大家有什么看法,是否需要一个自动格式化工具以方便项目的可持续性维护?

move fakeMakefile.ts to launch.json

There are many hardcoded consts in fakeMakefile.ts, I think they should go into the launch.json. By this way, it can make this extension more flexable, especially when the user need to change some path or filename during debug.

should not use a seperate command to launch debug

The current plugin will be activated by pressing a Cmd+Shift+p, and select a command to launch the debugger. And after running that command, the extension is activated and then send another workbench.action.debug.start command, which leading to the real debugger adapter to be launched. This interactivate flow has some drawbacks:

  • workbench.action.debug.start will launch the debug session with the current selected configuration, if the user created multiple configs in launch.json and selected some one else, then the extension will fail to continue.
  • starting the debug session by sending workbench.action.debug.start introduce some indirection on the interactivate flow, the plugin hide some part of the background work from the user (e.g. send the workbench.action.debug.start command), but left some other parts that the user can interactivate with (e.g., modify the launch.json). So, the user will confused on what is the difference between clicking the green debug button and run core-debugger.launchCoreDebugger from the command panel.

IMO, the debug plugin should be activated only by click the green debug button, or by pressing the F5.

想加入学习调试技术,怎么联系

If submitting a bug please make sure

  • If you are using gdb
    • gdb --version >= 7.7.1
    • it works on the command line with gdb
    • cwd and target are properly set
  • If you are using lldb
    • lldb --version >= 3.7.1
    • it works on the command line with lldb-mi
    • cwd and target are properly set

Screenshots are helpful but not required

Force set border breakpoints

用sendCliCommand()绕过断点组对断点的过滤,强制设置断点,否则从用户态程序回到内核时会产生问题

change request type from `attach` to `launch`

the request param in launch.json is now attach, which is a bit confusing. Since this plugin will spawn a new terminal, and run qemu in it, then attach the debugger to the qemu, from the view of the enduser, it behaves like launch instead of attach.

rCore-ebpf支持

  1. 解决硬编码问题,让rCore兼容此插件
    然后有三种办法
  2. watchpoint
  3. 不用gdb
    1. 实现mi2.ts接口
    2. ebpf输入输出符合GDB/MI(重写mibase.ts
  4. gdb执行函数
    1. rust支持

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.