llvm / llvm-project

The LLVM Project is a collection of modular and reusable compiler and toolchain technologies.
http://llvm.org
Other
28.2k stars 11.64k forks source link

[lldb-vscode] Feature Request: more disassembler functionality #62545

Open d-mozulyov opened 1 year ago

d-mozulyov commented 1 year ago

Problem

When developing complex high-performance code, it can be extremely useful to see what assembler is generated in a real project (for example, in RelWithDebInfo mode). Now in lldb-vscode there is no way to look at the disassembler at an arbitrary point in time, you can't put a breakpoint on any line of the disassembler, you can't look at the assembler in Intel syntax.

disasm_small

Conclusions

I suggest looking at the experience of other IDEs, such as C++ Builder (maybe QtCreator, etc. has similar functionality), which, by the way, is based on Clang.

  1. Provide the ability to call the disassembler window at an arbitrary moment (I think this is possible in CodeLLDB)
  2. Make Intel syntax default or provide a choice
  3. Provide the ability to put breakpoints on any assembler instruction

disassembly

llvmbot commented 1 year ago

@llvm/issue-subscribers-lldb

asl commented 1 year ago

Probably it should be reported at https://github.com/lanza/lldb-vscode not here

d-mozulyov commented 1 year ago

@asl

I do not agree with your opinion. The repository that you have indicated has not been developed for several years and is not directly related to LLVM.

jryans commented 1 year ago

lldb-vscode is part of this repo (https://github.com/llvm/llvm-project/tree/main/lldb/tools/lldb-vscode), so this seems like a reasonable place to file issues about it.

asl commented 1 year ago

@jryans @d-mozulyov Yeah, sorry. For some reason I somehow missed it at first.