| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
【feature】memory read支持通过 --offset/-E 选项在内存打印时跳过所指定元素个数 Co-authored-by: gong-siwei<gongsiwei@huawei.com> # message auto-generated for no-merge-commit merge: !10 merge sup_offset into master 【feature】memory read支持通过 --offset/-E 选项在内存打印时跳过所指定元素个数 Created-by: gong-siwei Commit-by: gong-siwei Merged-by: ascend-robot Description: ### 1. 修改描述 - **修改原因:** 使用memory read打印tensor内存时,若tensor的shape很大,期望查看其中某个元素,需要手动计算该元素所在的地址再打印,增加了命令使用的难度。 - **修改方案:** 原生lldb框架已支持通过--offset/-E选项跳过所指定元素个数,但必须通过-t选项指定元素类型,且-t选项暂未在kernel侧支持,不够易用。现支持其可与-f选项在kernel侧配合使用,元素类型由-f指定。 - **修改内容:** - [ ] **涉及代码双合**(贴上另一个PR链接): ---- ### 2. 功能验证 - [ ] **功能自验截图**(请确保不体现个人信息) bash (msdebug) x -m UB -f float32 0 -E 4 0x00000010: {6641 6511 6361 6254 6295 6420 6341 6548 6376 6690 6658 6284 6333 6107 6115 6118 6350 6681 6396 6575 6156 6548 6030 6265 6547 6341 6578 6216 6664 6509 6618 6483} 0x00000090: {6493 6072 6353 6485 6440 6636 6340 6552 6574 6307 6378 6499 6142 6333 6275 6314 6214 6126 6085 6516 6827 6443 5934 6408 6413 6357 6270 6321 6546 6402 6002 6083} 0x00000110: {6443 6398 6199 6403 6202 6613 5900 6230 6214 6553 6598 6225 6158 6376 6333 6772 6458 6544 6111 6024 6295 6304 6412 6142 6515 6463 6022 6164 6248 6469 6260 6586} 0x00000190: {6138 6603 6288 6345 6420 6179 6198 6212 6418 6376 6417 6068 6495 5447 6270 6217 6156 6334 6531 6551 6307 6207 6253 6662 6162 6354 6219 5988 7055 6731 6772 6746} (msdebug) x -m UB -f float32 0 0x00000000: {7024 6228 6513 6542 6641 6511 6361 6254 6295 6420 6341 6548 6376 6690 6658 6284 6333 6107 6115 6118 6350 6681 6396 6575 6156 6548 6030 6265 6547 6341 6578 6216} 0x00000080: {6664 6509 6618 6483 6493 6072 6353 6485 6440 6636 6340 6552 6574 6307 6378 6499 6142 6333 6275 6314 6214 6126 6085 6516 6827 6443 5934 6408 6413 6357 6270 6321} 0x00000100: {6546 6402 6002 6083 6443 6398 6199 6403 6202 6613 5900 6230 6214 6553 6598 6225 6158 6376 6333 6772 6458 6544 6111 6024 6295 6304 6412 6142 6515 6463 6022 6164} 0x00000180: {6248 6469 6260 6586 6138 6603 6288 6345 6420 6179 6198 6212 6418 6376 6417 6068 6495 5447 6270 6217 6156 6334 6531 6551 6307 6207 6253 6662 6162 6354 6219 5988} - [x] **冒烟是否通过** bash Testing Time: 406.73s Excluded: 12 Passed : 50 1 warning(s) in tests #-----------------------------------------------------# INFO: 完成CANN包测试! ---- ### 3. 代码检视 - **要求:** - 合入功能代码大于 200 行,需要sig会议申报代码检视议题,并在PR中标注会议。 - committer评估是否需要在sig会议进行代码检视。 - 参与检视的committer人员名单与检视时间。 - 大于 1000 行代码原则上不允许合入,需进行备案。 - [ ] **是否经过代码检视** - [ ] **是否具备UT测试用例看护** - [ ] **是否需要在sig会议中进行代码检视** - **检视committer人员名单与检视时间:** ---- ### 4. 资料修改自检 - **资料修改:** 资料中增加--offset/-E选项说明。 ---- See merge request: Ascend/msdebug!10 | 6 个月前 | |
added all modifications made for msdebug | 7 个月前 | |
added all modifications made for msdebug | 7 个月前 | |
Start to clean up the process of defining command arguments. (#83097) Partly, there's just a lot of unnecessary boiler plate. It's also possible to define combinations of arguments that make no sense (e.g. eArgRepeatPlus followed by eArgRepeatPlain...) but these are never checked since we just push_back directly into the argument definitions. This commit is step 1 of this cleanup - do the obvious stuff. In it, all the simple homogenous argument lists and the breakpoint/watchpoint ID/Range types, are set with common functions. This is an NFC change, it just centralizes boiler plate. There's no checking yet because you can't get a single argument wrong. The end goal is that all argument definition goes through functions and m_arguments is hidden so that you can't define inconsistent argument sets. | 2 年前 | |
[lldb] Part 2 of 2 - Refactor CommandObject::DoExecute(...) return void (not bool) (#69991) [lldb] Part 2 of 2 - Refactor CommandObject::DoExecute(...) to return void instead of ~~bool~~ Justifications: - The code doesn't ultimately apply the true/false return values. - The methods already pass around a CommandReturnObject, typically with a result parameter. - Each command return object already contains: - A more precise status - The error code(s) that apply to that status Part 1 refactors the CommandObject::Execute(...) method. - See [https://github.com/llvm/llvm-project/pull/69989](https://github.com/llvm/llvm-project/pull/69989) rdar://117378957 | 2 年前 | |
[feature] add clang-tidy hook to pre-commit config Co-authored-by: wiyr0<wangyixian3@huawei.com> # message auto-generated for no-merge-commit merge: !163 merge feature/add-clang-tidy-hook into master [feature] add clang-tidy hook to pre-commit config Created-by: wiyr0 Commit-by: wiyr0 Merged-by: ascend-robot Description: ### 1. 修改描述 - **修改原因:** https://gitcode.com/Ascend/msot/issues/54 - **修改方案:** 新增 clang-tidy hook,使用 lldb/.clang-tidy 作为配置(通过 InheritParentConfig 继承根配置并禁用 readability-identifier-naming) - **修改内容:**  - [ ] **涉及代码双合**(贴上另一个PR链接): ---- ### 2. 功能验证 - [x] **功能自验截图**(请确保不体现个人信息) - [x] **冒烟是否通过**  ---- ### 3. 代码检视 - **要求:** - 合入功能代码大于 200 行,需要sig会议申报代码检视议题,并在PR中标注会议。 - committer评估是否需要在sig会议进行代码检视。 - 参与检视的committer人员名单与检视时间。 - 大于 1000 行代码原则上不允许合入,需进行备案。 - [x] **是否经过代码检视** - [ ] **是否具备UT测试用例看护** - [ ] **是否需要在sig会议中进行代码检视** - **检视committer人员名单与检视时间:** ---- ### 4. 资料修改自检 - **资料修改:** ---- See merge request: Ascend/msdebug!163 | 19 天前 | |
added all modifications made for msdebug | 7 个月前 | |
[lldb-dap][NFC] Minor rename As a minor follow up for https://github.com/llvm/llvm-project/pull/97675, I'm renaming SupportsExceptionBreakpoints to SupportsExceptionBreakpointsOnThrow and adding a SupportsExceptionBreakpointsOnCatch to have a bit of more granularity. | 2 年前 | |
[lldb] Update header guards to be consistent and compliant with LLVM (NFC) LLDB has a few different styles of header guards and they're not very consistent because things get moved around or copy/pasted. This patch unifies the header guards across LLDB and converts everything to match LLVM's style. Differential revision: https://reviews.llvm.org/D74743 | 6 年前 | |
Start to clean up the process of defining command arguments. (#83097) Partly, there's just a lot of unnecessary boiler plate. It's also possible to define combinations of arguments that make no sense (e.g. eArgRepeatPlus followed by eArgRepeatPlain...) but these are never checked since we just push_back directly into the argument definitions. This commit is step 1 of this cleanup - do the obvious stuff. In it, all the simple homogenous argument lists and the breakpoint/watchpoint ID/Range types, are set with common functions. This is an NFC change, it just centralizes boiler plate. There's no checking yet because you can't get a single argument wrong. The end goal is that all argument definition goes through functions and m_arguments is hidden so that you can't define inconsistent argument sets. | 2 年前 | |
[lldb] Update header guards to be consistent and compliant with LLVM (NFC) LLDB has a few different styles of header guards and they're not very consistent because things get moved around or copy/pasted. This patch unifies the header guards across LLDB and converts everything to match LLVM's style. Differential revision: https://reviews.llvm.org/D74743 | 6 年前 | |
Add the ability for Script based commands to specify their "repeat command" (#94823) Among other things, returning an empty string as the repeat command disables auto-repeat, which can be useful for state-changing commands. There's one remaining refinement to this setup, which is that for parsed script commands, it should be possible to change an option value, or add a new option value that wasn't originally specified, then ask lldb "make this back into a command string". That would make doing fancy things with repeat commands easier. That capability isn't present in the lldb_private side either, however. So that's for a next iteration. I haven't added this to the docs on adding commands yet. I wanted to make sure this was an acceptable approach before I spend the time to do that. | 2 年前 | |
[lldb] Update header guards to be consistent and compliant with LLVM (NFC) LLDB has a few different styles of header guards and they're not very consistent because things get moved around or copy/pasted. This patch unifies the header guards across LLDB and converts everything to match LLVM's style. Differential revision: https://reviews.llvm.org/D74743 | 6 年前 | |
[DWIMPrint] Move the setting of the result status into dump_val_object (#96232) Previously the result would get overwritten by a success on all code paths. This is another NFC change for TypeSystemClang, because an object description cannot actually fail there. It will have different behavior in the Swift plugin. | 2 年前 | |
Add the RegisterCompleter to eArgTypeRegisterName in g_argument_table (#82428) This is a follow-on to: https://github.com/llvm/llvm-project/pull/82085 The completer for register names was missing from the argument table. I somehow missed that the only register completer test was x86_64, so that test broke. I added the completer in to the right slot in the argument table, and added a small completions test that just uses the alias register names. If we end up having a platform that doesn't define register names, we'll have to skip this test there, but it should add a sniff test for register completion that will run most everywhere. | 2 年前 | |
[lldb] Part 2 of 2 - Refactor CommandObject::DoExecute(...) return void (not bool) (#69991) [lldb] Part 2 of 2 - Refactor CommandObject::DoExecute(...) to return void instead of ~~bool~~ Justifications: - The code doesn't ultimately apply the true/false return values. - The methods already pass around a CommandReturnObject, typically with a result parameter. - Each command return object already contains: - A more precise status - The error code(s) that apply to that status Part 1 refactors the CommandObject::Execute(...) method. - See [https://github.com/llvm/llvm-project/pull/69989](https://github.com/llvm/llvm-project/pull/69989) rdar://117378957 | 2 年前 | |
[lldb] Add a "diagnostics dump" command Add a "diagnostics dump" command to, as the name implies, dump the diagnostics to disk. The goal of this command is to let the user generate the diagnostics in case of an issue that doesn't cause the debugger to crash. This command is also critical for testing, where we don't want to cause a crash to emit the diagnostics. Differential revision: https://reviews.llvm.org/D135622 | 3 年前 | |
[lldb] Part 2 of 2 - Refactor CommandObject::DoExecute(...) return void (not bool) (#69991) [lldb] Part 2 of 2 - Refactor CommandObject::DoExecute(...) to return void instead of ~~bool~~ Justifications: - The code doesn't ultimately apply the true/false return values. - The methods already pass around a CommandReturnObject, typically with a result parameter. - Each command return object already contains: - A more precise status - The error code(s) that apply to that status Part 1 refactors the CommandObject::Execute(...) method. - See [https://github.com/llvm/llvm-project/pull/69989](https://github.com/llvm/llvm-project/pull/69989) rdar://117378957 | 2 年前 | |
[lldb] Part 2 of 2 - Refactor CommandObject::DoExecute(...) return void (not bool) (#69991) [lldb] Part 2 of 2 - Refactor CommandObject::DoExecute(...) to return void instead of ~~bool~~ Justifications: - The code doesn't ultimately apply the true/false return values. - The methods already pass around a CommandReturnObject, typically with a result parameter. - Each command return object already contains: - A more precise status - The error code(s) that apply to that status Part 1 refactors the CommandObject::Execute(...) method. - See [https://github.com/llvm/llvm-project/pull/69989](https://github.com/llvm/llvm-project/pull/69989) rdar://117378957 | 2 年前 | |
added all modifications made for msdebug | 7 个月前 | |
[lldb] Part 2 of 2 - Refactor CommandObject::DoExecute(...) return void (not bool) (#69991) [lldb] Part 2 of 2 - Refactor CommandObject::DoExecute(...) to return void instead of ~~bool~~ Justifications: - The code doesn't ultimately apply the true/false return values. - The methods already pass around a CommandReturnObject, typically with a result parameter. - Each command return object already contains: - A more precise status - The error code(s) that apply to that status Part 1 refactors the CommandObject::Execute(...) method. - See [https://github.com/llvm/llvm-project/pull/69989](https://github.com/llvm/llvm-project/pull/69989) rdar://117378957 | 2 年前 | |
added all modifications made for msdebug | 7 个月前 | |
[lldb] Update header guards to be consistent and compliant with LLVM (NFC) LLDB has a few different styles of header guards and they're not very consistent because things get moved around or copy/pasted. This patch unifies the header guards across LLDB and converts everything to match LLVM's style. Differential revision: https://reviews.llvm.org/D74743 | 6 年前 | |
[lldb] Part 2 of 2 - Refactor CommandObject::DoExecute(...) return void (not bool) (#69991) [lldb] Part 2 of 2 - Refactor CommandObject::DoExecute(...) to return void instead of ~~bool~~ Justifications: - The code doesn't ultimately apply the true/false return values. - The methods already pass around a CommandReturnObject, typically with a result parameter. - Each command return object already contains: - A more precise status - The error code(s) that apply to that status Part 1 refactors the CommandObject::Execute(...) method. - See [https://github.com/llvm/llvm-project/pull/69989](https://github.com/llvm/llvm-project/pull/69989) rdar://117378957 | 2 年前 | |
[lldb] Part 2 of 2 - Refactor CommandObject::DoExecute(...) return void (not bool) (#69991) [lldb] Part 2 of 2 - Refactor CommandObject::DoExecute(...) to return void instead of ~~bool~~ Justifications: - The code doesn't ultimately apply the true/false return values. - The methods already pass around a CommandReturnObject, typically with a result parameter. - Each command return object already contains: - A more precise status - The error code(s) that apply to that status Part 1 refactors the CommandObject::Execute(...) method. - See [https://github.com/llvm/llvm-project/pull/69989](https://github.com/llvm/llvm-project/pull/69989) rdar://117378957 | 2 年前 | |
Start to clean up the process of defining command arguments. (#83097) Partly, there's just a lot of unnecessary boiler plate. It's also possible to define combinations of arguments that make no sense (e.g. eArgRepeatPlus followed by eArgRepeatPlain...) but these are never checked since we just push_back directly into the argument definitions. This commit is step 1 of this cleanup - do the obvious stuff. In it, all the simple homogenous argument lists and the breakpoint/watchpoint ID/Range types, are set with common functions. This is an NFC change, it just centralizes boiler plate. There's no checking yet because you can't get a single argument wrong. The end goal is that all argument definition goes through functions and m_arguments is hidden so that you can't define inconsistent argument sets. | 2 年前 | |
[lldb] Part 2 of 2 - Refactor CommandObject::DoExecute(...) return void (not bool) (#69991) [lldb] Part 2 of 2 - Refactor CommandObject::DoExecute(...) to return void instead of ~~bool~~ Justifications: - The code doesn't ultimately apply the true/false return values. - The methods already pass around a CommandReturnObject, typically with a result parameter. - Each command return object already contains: - A more precise status - The error code(s) that apply to that status Part 1 refactors the CommandObject::Execute(...) method. - See [https://github.com/llvm/llvm-project/pull/69989](https://github.com/llvm/llvm-project/pull/69989) rdar://117378957 | 2 年前 | |
[lldb] Replace default bodies of special member functions with = default; Replace default bodies of special member functions with = default; $ run-clang-tidy.py -header-filter='lldb' -checks='-*,modernize-use-equals-default' -fix , https://clang.llvm.org/extra/clang-tidy/checks/modernize-use-equals-default.html Differential revision: https://reviews.llvm.org/D104041 | 5 年前 | |
[lldb] Part 2 of 2 - Refactor CommandObject::DoExecute(...) return void (not bool) (#69991) [lldb] Part 2 of 2 - Refactor CommandObject::DoExecute(...) to return void instead of ~~bool~~ Justifications: - The code doesn't ultimately apply the true/false return values. - The methods already pass around a CommandReturnObject, typically with a result parameter. - Each command return object already contains: - A more precise status - The error code(s) that apply to that status Part 1 refactors the CommandObject::Execute(...) method. - See [https://github.com/llvm/llvm-project/pull/69989](https://github.com/llvm/llvm-project/pull/69989) rdar://117378957 | 2 年前 | |
Start to clean up the process of defining command arguments. (#83097) Partly, there's just a lot of unnecessary boiler plate. It's also possible to define combinations of arguments that make no sense (e.g. eArgRepeatPlus followed by eArgRepeatPlain...) but these are never checked since we just push_back directly into the argument definitions. This commit is step 1 of this cleanup - do the obvious stuff. In it, all the simple homogenous argument lists and the breakpoint/watchpoint ID/Range types, are set with common functions. This is an NFC change, it just centralizes boiler plate. There's no checking yet because you can't get a single argument wrong. The end goal is that all argument definition goes through functions and m_arguments is hidden so that you can't define inconsistent argument sets. | 2 年前 | |
[lldb] NFC remove DISALLOW_COPY_AND_ASSIGN Summary: This is how I applied my clang-tidy check (see https://reviews.llvm.org/D80531) in order to remove DISALLOW_COPY_AND_ASSIGN and have deleted copy ctors and deleted assignment operators instead. lang=bash grep DISALLOW_COPY_AND_ASSIGN /opt/notnfs/kkleine/llvm/lldb -r -l | sort | uniq > files for i in $(cat files); do clang-tidy \ --checks="-*,modernize-replace-disallow-copy-and-assign-macro" \ --format-style=LLVM \ --header-filter=.* \ --fix \ -fix-errors \ $i; done Reviewers: espindola, labath, aprantl, teemperor Reviewed By: labath, aprantl, teemperor Subscribers: teemperor, aprantl, labath, emaste, sbc100, aheejin, MaskRay, arphaman, usaxena95, lldb-commits Tags: #lldb Differential Revision: https://reviews.llvm.org/D80543 | 6 年前 | |
【feature】memory read支持通过 --offset/-E 选项在内存打印时跳过所指定元素个数 Co-authored-by: gong-siwei<gongsiwei@huawei.com> # message auto-generated for no-merge-commit merge: !10 merge sup_offset into master 【feature】memory read支持通过 --offset/-E 选项在内存打印时跳过所指定元素个数 Created-by: gong-siwei Commit-by: gong-siwei Merged-by: ascend-robot Description: ### 1. 修改描述 - **修改原因:** 使用memory read打印tensor内存时,若tensor的shape很大,期望查看其中某个元素,需要手动计算该元素所在的地址再打印,增加了命令使用的难度。 - **修改方案:** 原生lldb框架已支持通过--offset/-E选项跳过所指定元素个数,但必须通过-t选项指定元素类型,且-t选项暂未在kernel侧支持,不够易用。现支持其可与-f选项在kernel侧配合使用,元素类型由-f指定。 - **修改内容:** - [ ] **涉及代码双合**(贴上另一个PR链接): ---- ### 2. 功能验证 - [ ] **功能自验截图**(请确保不体现个人信息) bash (msdebug) x -m UB -f float32 0 -E 4 0x00000010: {6641 6511 6361 6254 6295 6420 6341 6548 6376 6690 6658 6284 6333 6107 6115 6118 6350 6681 6396 6575 6156 6548 6030 6265 6547 6341 6578 6216 6664 6509 6618 6483} 0x00000090: {6493 6072 6353 6485 6440 6636 6340 6552 6574 6307 6378 6499 6142 6333 6275 6314 6214 6126 6085 6516 6827 6443 5934 6408 6413 6357 6270 6321 6546 6402 6002 6083} 0x00000110: {6443 6398 6199 6403 6202 6613 5900 6230 6214 6553 6598 6225 6158 6376 6333 6772 6458 6544 6111 6024 6295 6304 6412 6142 6515 6463 6022 6164 6248 6469 6260 6586} 0x00000190: {6138 6603 6288 6345 6420 6179 6198 6212 6418 6376 6417 6068 6495 5447 6270 6217 6156 6334 6531 6551 6307 6207 6253 6662 6162 6354 6219 5988 7055 6731 6772 6746} (msdebug) x -m UB -f float32 0 0x00000000: {7024 6228 6513 6542 6641 6511 6361 6254 6295 6420 6341 6548 6376 6690 6658 6284 6333 6107 6115 6118 6350 6681 6396 6575 6156 6548 6030 6265 6547 6341 6578 6216} 0x00000080: {6664 6509 6618 6483 6493 6072 6353 6485 6440 6636 6340 6552 6574 6307 6378 6499 6142 6333 6275 6314 6214 6126 6085 6516 6827 6443 5934 6408 6413 6357 6270 6321} 0x00000100: {6546 6402 6002 6083 6443 6398 6199 6403 6202 6613 5900 6230 6214 6553 6598 6225 6158 6376 6333 6772 6458 6544 6111 6024 6295 6304 6412 6142 6515 6463 6022 6164} 0x00000180: {6248 6469 6260 6586 6138 6603 6288 6345 6420 6179 6198 6212 6418 6376 6417 6068 6495 5447 6270 6217 6156 6334 6531 6551 6307 6207 6253 6662 6162 6354 6219 5988} - [x] **冒烟是否通过** bash Testing Time: 406.73s Excluded: 12 Passed : 50 1 warning(s) in tests #-----------------------------------------------------# INFO: 完成CANN包测试! ---- ### 3. 代码检视 - **要求:** - 合入功能代码大于 200 行,需要sig会议申报代码检视议题,并在PR中标注会议。 - committer评估是否需要在sig会议进行代码检视。 - 参与检视的committer人员名单与检视时间。 - 大于 1000 行代码原则上不允许合入,需进行备案。 - [ ] **是否经过代码检视** - [ ] **是否具备UT测试用例看护** - [ ] **是否需要在sig会议中进行代码检视** - **检视committer人员名单与检视时间:** ---- ### 4. 资料修改自检 - **资料修改:** 资料中增加--offset/-E选项说明。 ---- See merge request: Ascend/msdebug!10 | 6 个月前 | |
[lldb] Update header guards to be consistent and compliant with LLVM (NFC) LLDB has a few different styles of header guards and they're not very consistent because things get moved around or copy/pasted. This patch unifies the header guards across LLDB and converts everything to match LLVM's style. Differential revision: https://reviews.llvm.org/D74743 | 6 年前 | |
[lldb] Part 2 of 2 - Refactor CommandObject::DoExecute(...) return void (not bool) (#69991) [lldb] Part 2 of 2 - Refactor CommandObject::DoExecute(...) to return void instead of ~~bool~~ Justifications: - The code doesn't ultimately apply the true/false return values. - The methods already pass around a CommandReturnObject, typically with a result parameter. - Each command return object already contains: - A more precise status - The error code(s) that apply to that status Part 1 refactors the CommandObject::Execute(...) method. - See [https://github.com/llvm/llvm-project/pull/69989](https://github.com/llvm/llvm-project/pull/69989) rdar://117378957 | 2 年前 | |
[lldb][AArch64] Add "memory tag read" command This new command looks much like "memory read" and mirrors its basic behaviour. (lldb) memory tag read new_buf_ptr new_buf_ptr+32 Logical tag: 0x9 Allocation tags: [0x900fffff7ffa000, 0x900fffff7ffa010): 0x9 [0x900fffff7ffa010, 0x900fffff7ffa020): 0x0 Important proprties: * The end address is optional and defaults to reading 1 tag if ommitted * It is an error to try to read tags if the architecture or process doesn't support it, or if the range asked for is not tagged. * It is an error to read an inverted range (end < begin) (logical tags are removed for this check so you can pass tagged addresses here) * The range will be expanded to fit the tagging granule, so you can get more tags than simply (end-begin)/granule size. Whatever you get back will always cover the original range. Reviewed By: omjavaid Differential Revision: https://reviews.llvm.org/D97285 | 5 年前 | |
[lldb] Part 1 of 2 - Refactor CommandObject::Execute(...) return void (not bool) (#69989) [lldb] Part 1 of 2 - Refactor CommandObject::Execute(...) to return void instead of ~~bool~~ Justifications: - The code doesn't ultimately apply the true/false return values. - The methods already pass around a CommandReturnObject, typically with a result parameter. - Each command return object already contains: - A more precise status - The error code(s) that apply to that status Part 2 refactors the CommandObject::DoExecute(...) method. - See [https://github.com/llvm/llvm-project/pull/69991](https://github.com/llvm/llvm-project/pull/69991) rdar://117378957 | 2 年前 | |
added all modifications made for msdebug | 7 个月前 | |
Revert "[lldb] Add Debugger & ScriptedMetadata reference to Platform::CreateInstance" This reverts commit 2d53527e9c64c70c24e1abba74fa0a8c8b3392b1. | 3 年前 | |
Start to clean up the process of defining command arguments. (#83097) Partly, there's just a lot of unnecessary boiler plate. It's also possible to define combinations of arguments that make no sense (e.g. eArgRepeatPlus followed by eArgRepeatPlain...) but these are never checked since we just push_back directly into the argument definitions. This commit is step 1 of this cleanup - do the obvious stuff. In it, all the simple homogenous argument lists and the breakpoint/watchpoint ID/Range types, are set with common functions. This is an NFC change, it just centralizes boiler plate. There's no checking yet because you can't get a single argument wrong. The end goal is that all argument definition goes through functions and m_arguments is hidden so that you can't define inconsistent argument sets. | 2 年前 | |
[lldb] Update header guards to be consistent and compliant with LLVM (NFC) LLDB has a few different styles of header guards and they're not very consistent because things get moved around or copy/pasted. This patch unifies the header guards across LLDB and converts everything to match LLVM's style. Differential revision: https://reviews.llvm.org/D74743 | 6 年前 | |
added all modifications made for msdebug | 7 个月前 | |
[lldb] Update header guards to be consistent and compliant with LLVM (NFC) LLDB has a few different styles of header guards and they're not very consistent because things get moved around or copy/pasted. This patch unifies the header guards across LLDB and converts everything to match LLVM's style. Differential revision: https://reviews.llvm.org/D74743 | 6 年前 | |
Start to clean up the process of defining command arguments. (#83097) Partly, there's just a lot of unnecessary boiler plate. It's also possible to define combinations of arguments that make no sense (e.g. eArgRepeatPlus followed by eArgRepeatPlain...) but these are never checked since we just push_back directly into the argument definitions. This commit is step 1 of this cleanup - do the obvious stuff. In it, all the simple homogenous argument lists and the breakpoint/watchpoint ID/Range types, are set with common functions. This is an NFC change, it just centralizes boiler plate. There's no checking yet because you can't get a single argument wrong. The end goal is that all argument definition goes through functions and m_arguments is hidden so that you can't define inconsistent argument sets. | 2 年前 | |
[lldb] Part 2 of 2 - Refactor CommandObject::DoExecute(...) return void (not bool) (#69991) [lldb] Part 2 of 2 - Refactor CommandObject::DoExecute(...) to return void instead of ~~bool~~ Justifications: - The code doesn't ultimately apply the true/false return values. - The methods already pass around a CommandReturnObject, typically with a result parameter. - Each command return object already contains: - A more precise status - The error code(s) that apply to that status Part 1 refactors the CommandObject::Execute(...) method. - See [https://github.com/llvm/llvm-project/pull/69989](https://github.com/llvm/llvm-project/pull/69989) rdar://117378957 | 2 年前 | |
[lldb] Part 2 of 2 - Refactor CommandObject::DoExecute(...) return void (not bool) (#69991) [lldb] Part 2 of 2 - Refactor CommandObject::DoExecute(...) to return void instead of ~~bool~~ Justifications: - The code doesn't ultimately apply the true/false return values. - The methods already pass around a CommandReturnObject, typically with a result parameter. - Each command return object already contains: - A more precise status - The error code(s) that apply to that status Part 1 refactors the CommandObject::Execute(...) method. - See [https://github.com/llvm/llvm-project/pull/69989](https://github.com/llvm/llvm-project/pull/69989) rdar://117378957 | 2 年前 | |
[lldb] Part 2 of 2 - Refactor CommandObject::DoExecute(...) return void (not bool) (#69991) [lldb] Part 2 of 2 - Refactor CommandObject::DoExecute(...) to return void instead of ~~bool~~ Justifications: - The code doesn't ultimately apply the true/false return values. - The methods already pass around a CommandReturnObject, typically with a result parameter. - Each command return object already contains: - A more precise status - The error code(s) that apply to that status Part 1 refactors the CommandObject::Execute(...) method. - See [https://github.com/llvm/llvm-project/pull/69989](https://github.com/llvm/llvm-project/pull/69989) rdar://117378957 | 2 年前 | |
[feature] 统一寄存器打印顺序 Co-authored-by: wangyixian<wangyixian3@huawei.com> # message auto-generated for no-merge-commit merge: !124 merge fix_register into master [feature] 统一寄存器打印顺序 Created-by: wiyr0 Commit-by: wangyixian Merged-by: ascend-robot Description: ### 1. 修改描述 - **修改原因:** 1. 之前的寄存器打印排序算法(先按长度再按字典序)不适用950上的寄存器,比如 S10和S0会被不连续。 2. coredump 如果没有error寄存器,且是aiv算子,则打印所有拿到的simd/simt寄存器 3. 修复cube算子生成的core文件core_id展示不对的问题 4. 修复ctrl-c下,bt命令不能用的问题 - **修改方案:** 按照寄存器地址的顺序打印,这里我们不需要做排序,因为寄存器的定义顺序本身在代码 里就是按照地址顺序来排布的, 并调整PC寄存器为第一个 - **修改内容:** 1. 删除DumpRegisterSetWithSort,直接使用原生的DumpRegisterSet 2. 增加UNKNOWN_INTERRUPT_TYPE 类型,用于aiv 算子生成的core文件,没有error 寄存器时,展示所有aiv的寄存器列表,不限制simd/simt - [ ] **涉及代码双合**(贴上另一个PR链接): ---- ### 2. 功能验证 - [ ] **功能自验截图**(请确保不体现个人信息)  - [ ] **冒烟是否通过**  ---- ### 3. 代码检视 - **要求:** - 合入功能代码大于 200 行,需要sig会议申报代码检视议题,并在PR中标注会议。 - committer评估是否需要在sig会议进行代码检视。 - 参与检视的committer人员名单与检视时间。 - 大于 1000 行代码原则上不允许合入,需进行备案。 - [x] **是否经过代码检视** - [ ] **是否具备UT测试用例看护** NA - [ ] **是否需要在sig会议中进行代码检视** NA - **检视committer人员名单与检视时间:** ---- ### 4. 资料修改自检 - **资料修改:** NA ---- See merge request: Ascend/msdebug!124 | 3 个月前 | |
[lldb] NFC remove DISALLOW_COPY_AND_ASSIGN Summary: This is how I applied my clang-tidy check (see https://reviews.llvm.org/D80531) in order to remove DISALLOW_COPY_AND_ASSIGN and have deleted copy ctors and deleted assignment operators instead. lang=bash grep DISALLOW_COPY_AND_ASSIGN /opt/notnfs/kkleine/llvm/lldb -r -l | sort | uniq > files for i in $(cat files); do clang-tidy \ --checks="-*,modernize-replace-disallow-copy-and-assign-macro" \ --format-style=LLVM \ --header-filter=.* \ --fix \ -fix-errors \ $i; done Reviewers: espindola, labath, aprantl, teemperor Reviewed By: labath, aprantl, teemperor Subscribers: teemperor, aprantl, labath, emaste, sbc100, aheejin, MaskRay, arphaman, usaxena95, lldb-commits Tags: #lldb Differential Revision: https://reviews.llvm.org/D80543 | 6 年前 | |
[lldb/Commands] Alias script command to scripting run (#97263) This patch introduces a new top-level scripting command with an run sub-command, that basically replaces the script raw command. To avoid breaking the script command usages, this patch also adds an script alias to the scripting run sub-command. The reason behind this change is to have a top-level command that will cover scripting related subcommands. Signed-off-by: Med Ismail Bennani <ismail@bennani.ma> | 2 年前 | |
[lldb/Commands] Alias script command to scripting run (#97263) This patch introduces a new top-level scripting command with an run sub-command, that basically replaces the script raw command. To avoid breaking the script command usages, this patch also adds an script alias to the scripting run sub-command. The reason behind this change is to have a top-level command that will cover scripting related subcommands. Signed-off-by: Med Ismail Bennani <ismail@bennani.ma> | 2 年前 | |
Start to clean up the process of defining command arguments. (#83097) Partly, there's just a lot of unnecessary boiler plate. It's also possible to define combinations of arguments that make no sense (e.g. eArgRepeatPlus followed by eArgRepeatPlain...) but these are never checked since we just push_back directly into the argument definitions. This commit is step 1 of this cleanup - do the obvious stuff. In it, all the simple homogenous argument lists and the breakpoint/watchpoint ID/Range types, are set with common functions. This is an NFC change, it just centralizes boiler plate. There's no checking yet because you can't get a single argument wrong. The end goal is that all argument definition goes through functions and m_arguments is hidden so that you can't define inconsistent argument sets. | 2 年前 | |
[lldb/interpreter] Add ability to save lldb session to a file This patch introduce a new feature that allows the users to save their debugging session's transcript (commands + outputs) to a file. It differs from the reproducers since it doesn't require to capture a session preemptively and replay the reproducer file in lldb. The user can choose the save its session manually using the session save command or automatically by setting the interpreter.save-session-on-quit on their init file. To do so, the patch adds a Stream object to the CommandInterpreter that will hold the input command from the IOHandler and the CommandReturnObject output and error. This way, that stream object accumulates passively all the interactions throughout the session and will save them to disk on demand. The user can specify a file path where the session's transcript will be saved. However, it is optional, and when it is not provided, lldb will create a temporary file name according to the session date and time. rdar://63347792 Differential Revision: https://reviews.llvm.org/D82155 Signed-off-by: Med Ismail Bennani <medismail.bennani@gmail.com> | 5 年前 | |
Start to clean up the process of defining command arguments. (#83097) Partly, there's just a lot of unnecessary boiler plate. It's also possible to define combinations of arguments that make no sense (e.g. eArgRepeatPlus followed by eArgRepeatPlain...) but these are never checked since we just push_back directly into the argument definitions. This commit is step 1 of this cleanup - do the obvious stuff. In it, all the simple homogenous argument lists and the breakpoint/watchpoint ID/Range types, are set with common functions. This is an NFC change, it just centralizes boiler plate. There's no checking yet because you can't get a single argument wrong. The end goal is that all argument definition goes through functions and m_arguments is hidden so that you can't define inconsistent argument sets. | 2 年前 | |
[lldb] Update header guards to be consistent and compliant with LLVM (NFC) LLDB has a few different styles of header guards and they're not very consistent because things get moved around or copy/pasted. This patch unifies the header guards across LLDB and converts everything to match LLVM's style. Differential revision: https://reviews.llvm.org/D74743 | 6 年前 | |
[lldb] Make semantics of SupportFile equivalence explicit (#97126) This is an improved attempt to improve the semantics of SupportFile equivalence, taking into account the feedback from #95606. Pavel's comment about the lack of a concise name because the concept isn't trivial made me realize that I don't want to abstract this concept away behind a helper function. Instead, I opted for a rather verbose enum that forces the caller to consider exactly what kind of comparison is appropriate for every call. | 2 年前 | |
[lldb] Fix ASCII art in CommandObjectSource.h (NFC) | 2 年前 | |
[lldb] Add/change options in statistics dump to control what sections are dumped (#95075) # Added/changed options The following options are **added** to the statistics dump command: * --targets=bool: Boolean. Dumps the targets section. * --modules=bool: Boolean. Dumps the modules section. When both options are given, the field moduleIdentifiers will be dumped for each target in the targets section. The following options are **changed**: * --transcript=bool: Changed to a boolean. Dumps the transcript section. # Behavior of statistics dump with various options The behavior is **backward compatible**: - When no options are provided, statistics dump dumps all sections. - When --summary is provided, only dumps the summary info. **New** behavior: - --targets=bool, --modules=bool, --transcript=bool overrides the above "default". For **example**: - statistics dump --modules=false dumps summary + targets + transcript. No modules. - statistics dump --summary --targets=true --transcript=true dumps summary + targets (in summary mode) + transcript. # Added options into public API In SBStatisticsOptions, add: * Set/GetIncludeTargets * Set/GetIncludeModules * Set/GetIncludeTranscript **Alternative considered**: Thought about adding Set/GetIncludeSections(string sections_spec), which receives a comma-separated list of section names to be included ("targets", "modules", "transcript"). The **benefit** of this approach is that the API is more future-proof when it comes to possible adding/changing of section names. **However**, I feel the section names are likely to remain unchanged for a while - it's not like we plan to make big changes to the output of statistics dump any time soon. The **downsides** of this approach are: 1\ the readability of the API is worse (requires reading doc to understand what string can be accepted), 2\ string input are more prone to human error (e.g. typo "target" instead of expected "targets"). # Tests bin/llvm-lit -sv ../external/llvm-project/lldb/test/API/commands/statistics/basic/TestStats.py ./tools/lldb/unittests/Interpreter/InterpreterTests New test cases have been added to verify: * Different sections are dumped/not dumped when different StatisticsOptions are given through command line (CLI or HandleCommand; see test_sections_existence_through_command) or API (see test_sections_existence_through_api). * The order in which the options are given in command line does not matter (see test_order_of_options_do_not_matter). --------- Co-authored-by: Roy Shi <royshi@meta.com> | 2 年前 | |
[lldb] Update header guards to be consistent and compliant with LLVM (NFC) LLDB has a few different styles of header guards and they're not very consistent because things get moved around or copy/pasted. This patch unifies the header guards across LLDB and converts everything to match LLVM's style. Differential revision: https://reviews.llvm.org/D74743 | 6 年前 | |
[feature] 950 coredump解析功能-线程展示优化 Co-authored-by: wangyixian<wangyixian3@huawei.com> # message auto-generated for no-merge-commit merge: !134 merge fix_coredump into master [feature] 950 coredump解析功能-线程展示优化 Created-by: wiyr0 Commit-by: wangyixian Merged-by: ascend-robot Description: ### 1. 修改描述 - **修改原因:** 线程展示相比友商缺少文件名和行号的展示;当前只有异常的warp的pc是可以推算的,其他warp的pc是未知,不应该展示;加载core文件后,可以直接展示异常代码位置,提高易用性。 - **修改方案:** 通过pc获取行号信息,若失败则打印NA; 加载device core文件后,获取默认线程,打印线程的位置信息; - **修改内容:** 1. 实现PrettyPrintTable函数,打印一个表格: - 用于获取每一列的最大宽度 - 列与列之前只相隔1个空格 - 每列都右对齐 2. GetLineEntryForPC实现从pc拿到line信息 - [ ] **涉及代码双合**(贴上另一个PR链接):NA ---- ### 2. 功能验证 - [x] **功能自验截图**(请确保不体现个人信息)  - [ ] **冒烟是否通过**  ---- ### 3. 代码检视 - **要求:** - 合入功能代码大于 200 行,需要sig会议申报代码检视议题,并在PR中标注会议。 - committer评估是否需要在sig会议进行代码检视。 - 参与检视的committer人员名单与检视时间。 - 大于 1000 行代码原则上不允许合入,需进行备案。 - [x] **是否经过代码检视** - [ ] **是否具备UT测试用例看护** - [ ] **是否需要在sig会议中进行代码检视** - **检视committer人员名单与检视时间:** ---- ### 4. 资料修改自检 - **资料修改:** ---- See merge request: Ascend/msdebug!134 | 2 个月前 | |
[lldb] Update header guards to be consistent and compliant with LLVM (NFC) LLDB has a few different styles of header guards and they're not very consistent because things get moved around or copy/pasted. This patch unifies the header guards across LLDB and converts everything to match LLVM's style. Differential revision: https://reviews.llvm.org/D74743 | 6 年前 | |
[feature] 统一寄存器打印顺序 Co-authored-by: wangyixian<wangyixian3@huawei.com> # message auto-generated for no-merge-commit merge: !124 merge fix_register into master [feature] 统一寄存器打印顺序 Created-by: wiyr0 Commit-by: wangyixian Merged-by: ascend-robot Description: ### 1. 修改描述 - **修改原因:** 1. 之前的寄存器打印排序算法(先按长度再按字典序)不适用950上的寄存器,比如 S10和S0会被不连续。 2. coredump 如果没有error寄存器,且是aiv算子,则打印所有拿到的simd/simt寄存器 3. 修复cube算子生成的core文件core_id展示不对的问题 4. 修复ctrl-c下,bt命令不能用的问题 - **修改方案:** 按照寄存器地址的顺序打印,这里我们不需要做排序,因为寄存器的定义顺序本身在代码 里就是按照地址顺序来排布的, 并调整PC寄存器为第一个 - **修改内容:** 1. 删除DumpRegisterSetWithSort,直接使用原生的DumpRegisterSet 2. 增加UNKNOWN_INTERRUPT_TYPE 类型,用于aiv 算子生成的core文件,没有error 寄存器时,展示所有aiv的寄存器列表,不限制simd/simt - [ ] **涉及代码双合**(贴上另一个PR链接): ---- ### 2. 功能验证 - [ ] **功能自验截图**(请确保不体现个人信息)  - [ ] **冒烟是否通过**  ---- ### 3. 代码检视 - **要求:** - 合入功能代码大于 200 行,需要sig会议申报代码检视议题,并在PR中标注会议。 - committer评估是否需要在sig会议进行代码检视。 - 参与检视的committer人员名单与检视时间。 - 大于 1000 行代码原则上不允许合入,需进行备案。 - [x] **是否经过代码检视** - [ ] **是否具备UT测试用例看护** NA - [ ] **是否需要在sig会议中进行代码检视** NA - **检视committer人员名单与检视时间:** ---- ### 4. 资料修改自检 - **资料修改:** NA ---- See merge request: Ascend/msdebug!124 | 3 个月前 | |
[lldb] Update header guards to be consistent and compliant with LLVM (NFC) LLDB has a few different styles of header guards and they're not very consistent because things get moved around or copy/pasted. This patch unifies the header guards across LLDB and converts everything to match LLVM's style. Differential revision: https://reviews.llvm.org/D74743 | 6 年前 | |
Start to clean up the process of defining command arguments. (#83097) Partly, there's just a lot of unnecessary boiler plate. It's also possible to define combinations of arguments that make no sense (e.g. eArgRepeatPlus followed by eArgRepeatPlain...) but these are never checked since we just push_back directly into the argument definitions. This commit is step 1 of this cleanup - do the obvious stuff. In it, all the simple homogenous argument lists and the breakpoint/watchpoint ID/Range types, are set with common functions. This is an NFC change, it just centralizes boiler plate. There's no checking yet because you can't get a single argument wrong. The end goal is that all argument definition goes through functions and m_arguments is hidden so that you can't define inconsistent argument sets. | 2 年前 | |
[lldb] Add missing <stack> includes (NFC) | 2 年前 | |
Start to clean up the process of defining command arguments. (#83097) Partly, there's just a lot of unnecessary boiler plate. It's also possible to define combinations of arguments that make no sense (e.g. eArgRepeatPlus followed by eArgRepeatPlain...) but these are never checked since we just push_back directly into the argument definitions. This commit is step 1 of this cleanup - do the obvious stuff. In it, all the simple homogenous argument lists and the breakpoint/watchpoint ID/Range types, are set with common functions. This is an NFC change, it just centralizes boiler plate. There's no checking yet because you can't get a single argument wrong. The end goal is that all argument definition goes through functions and m_arguments is hidden so that you can't define inconsistent argument sets. | 2 年前 | |
[trace][intel-pt] Implement trace start and trace stop This implements the interactive trace start and stop methods. This diff ended up being much larger than I anticipated because, by doing it, I found that I had implemented in the beginning many things in a non optimal way. In any case, the code is much better now. There's a lot of boilerplate code due to the gdb-remote protocol, but the main changes are: - New tracing packets: jLLDBTraceStop, jLLDBTraceStart, jLLDBTraceGetBinaryData. The gdb-remote packet definitions are quite comprehensive. - Implementation of the "process trace start|stop" and "thread trace start|stop" commands. - Implementaiton of an API in Trace.h to interact with live traces. - Created an IntelPTDecoder for live threads, that use the debugger's stop id as checkpoint for its internal cache. - Added a functionality to stop the process in case "process tracing" is enabled and a new thread can't traced. - Added tests I have some ideas to unify the code paths for post mortem and live threads, but I'll do that in another diff. Differential Revision: https://reviews.llvm.org/D91679 | 5 年前 | |
Add a new SBExpressionOptions::SetLanguage() API (NFCI) (#89981) that separates out language and version. To avoid reinventing the wheel and introducing subtle incompatibilities, this API uses the table of languages and versiond defined by the upcoming DWARF 6 standard (https://dwarfstd.org/languages-v6.html). While the DWARF 6 spec is not finialized, the list of languages is broadly considered stable. The primary motivation for this is to allow the Swift language plugin to switch between language dialects between, e.g., Swift 5.9 and 6.0 with out introducing a ton of new language codes. On the main branch this change is considered NFC. Depends on https://github.com/llvm/llvm-project/pull/89980 | 2 年前 | |
[lldb] Update header guards to be consistent and compliant with LLVM (NFC) LLDB has a few different styles of header guards and they're not very consistent because things get moved around or copy/pasted. This patch unifies the header guards across LLDB and converts everything to match LLVM's style. Differential revision: https://reviews.llvm.org/D74743 | 6 年前 | |
[lldb] Part 2 of 2 - Refactor CommandObject::DoExecute(...) return void (not bool) (#69991) [lldb] Part 2 of 2 - Refactor CommandObject::DoExecute(...) to return void instead of ~~bool~~ Justifications: - The code doesn't ultimately apply the true/false return values. - The methods already pass around a CommandReturnObject, typically with a result parameter. - Each command return object already contains: - A more precise status - The error code(s) that apply to that status Part 1 refactors the CommandObject::Execute(...) method. - See [https://github.com/llvm/llvm-project/pull/69989](https://github.com/llvm/llvm-project/pull/69989) rdar://117378957 | 2 年前 | |
[lldb] Part 2 of 2 - Refactor CommandObject::DoExecute(...) return void (not bool) (#69991) [lldb] Part 2 of 2 - Refactor CommandObject::DoExecute(...) to return void instead of ~~bool~~ Justifications: - The code doesn't ultimately apply the true/false return values. - The methods already pass around a CommandReturnObject, typically with a result parameter. - Each command return object already contains: - A more precise status - The error code(s) that apply to that status Part 1 refactors the CommandObject::Execute(...) method. - See [https://github.com/llvm/llvm-project/pull/69989](https://github.com/llvm/llvm-project/pull/69989) rdar://117378957 | 2 年前 | |
Start to clean up the process of defining command arguments. (#83097) Partly, there's just a lot of unnecessary boiler plate. It's also possible to define combinations of arguments that make no sense (e.g. eArgRepeatPlus followed by eArgRepeatPlain...) but these are never checked since we just push_back directly into the argument definitions. This commit is step 1 of this cleanup - do the obvious stuff. In it, all the simple homogenous argument lists and the breakpoint/watchpoint ID/Range types, are set with common functions. This is an NFC change, it just centralizes boiler plate. There's no checking yet because you can't get a single argument wrong. The end goal is that all argument definition goes through functions and m_arguments is hidden so that you can't define inconsistent argument sets. | 2 年前 | |
[lldb] Update header guards to be consistent and compliant with LLVM (NFC) LLDB has a few different styles of header guards and they're not very consistent because things get moved around or copy/pasted. This patch unifies the header guards across LLDB and converts everything to match LLVM's style. Differential revision: https://reviews.llvm.org/D74743 | 6 年前 | |
Start to clean up the process of defining command arguments. (#83097) Partly, there's just a lot of unnecessary boiler plate. It's also possible to define combinations of arguments that make no sense (e.g. eArgRepeatPlus followed by eArgRepeatPlain...) but these are never checked since we just push_back directly into the argument definitions. This commit is step 1 of this cleanup - do the obvious stuff. In it, all the simple homogenous argument lists and the breakpoint/watchpoint ID/Range types, are set with common functions. This is an NFC change, it just centralizes boiler plate. There's no checking yet because you can't get a single argument wrong. The end goal is that all argument definition goes through functions and m_arguments is hidden so that you can't define inconsistent argument sets. | 2 年前 | |
[lldb] Update header guards to be consistent and compliant with LLVM (NFC) LLDB has a few different styles of header guards and they're not very consistent because things get moved around or copy/pasted. This patch unifies the header guards across LLDB and converts everything to match LLVM's style. Differential revision: https://reviews.llvm.org/D74743 | 6 年前 | |
added all modifications made for msdebug | 7 个月前 | |
[lldb][NFC] makeArrayRef -> ArrayRef makeArrayRef is deprecated. | 3 年前 | |
[lldb] Add scripted process launch/attach option to {,platform }process commands This patch does several things: First, it refactors the CommandObject{,Platform}ProcessObject command option class into a separate CommandOptionsProcessAttach option group. This will make sure both the platform process attach and process attach command options will always stay in sync without having with duplicate them each time. But more importantly, making this class an OptionGroup allows us to combine with a OptionGroupPythonClassWithDict to add support for the scripted process managing class name and user-provided dictionary options. This patch also improves feature parity between ProcessLaunchInfo and ProcessAttachInfo with regard to ScriptedProcesses, by exposing the various getters and setters necessary to use them through the SBAPI. This is foundation work for adding support to "attach" to a process from the scripted platform. Differential Revision: https://reviews.llvm.org/D139945 Signed-off-by: Med Ismail Bennani <medismail.bennani@gmail.com> | 3 年前 | |
[lldb] add stop-at-user-entry option to process launch (#67019) ## Description This pull request adds a new stop-at-user-entry option to LLDB process launch command, allowing users to launch a process and pause execution at the entry point of the program (for C-based languages, main function). ## Motivation This option provides a convenient way to begin debugging a program by launching it and breaking at the desired entry point. ## Changes Made - Added stop-at-user-entry option to Options.td and the corresponding case in CommandOptionsProcessLaunch.cpp (short option is 'm') - Implemented GetUserEntryPointName method in the Language plugins available at the moment. - Declared the CreateBreakpointAtUserEntry method in the Target API. - Create Shell test for the command command-process-launch-user-entry.test. ## Usage process launch --stop-at-user-entry or process launch -m launches the process and pauses execution at the entry point of the program. | 2 年前 | |
[Commands] Remove redundant member initialization (NFC) Identified with readability-redundant-member-init. | 4 年前 | |
[lldb/Commands] Alias script command to scripting run (#97263) This patch introduces a new top-level scripting command with an run sub-command, that basically replaces the script raw command. To avoid breaking the script command usages, this patch also adds an script alias to the scripting run sub-command. The reason behind this change is to have a top-level command that will cover scripting related subcommands. Signed-off-by: Med Ismail Bennani <ismail@bennani.ma> | 2 年前 | |
[lldb] Refactor command option enum values (NFC) Refactor the command option enum values and the command argument table to connect the two. This has two benefits: - We guarantee that two options that use the same argument type have the same accepted values. - We can print the enum values and their description in the help output. (D129707) Differential revision: https://reviews.llvm.org/D129703 | 4 年前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 6 个月前 | ||
| 7 个月前 | ||
| 7 个月前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 19 天前 | ||
| 7 个月前 | ||
| 2 年前 | ||
| 6 年前 | ||
| 2 年前 | ||
| 6 年前 | ||
| 2 年前 | ||
| 6 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 3 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 7 个月前 | ||
| 2 年前 | ||
| 7 个月前 | ||
| 6 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 5 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 6 年前 | ||
| 6 个月前 | ||
| 6 年前 | ||
| 2 年前 | ||
| 5 年前 | ||
| 2 年前 | ||
| 7 个月前 | ||
| 3 年前 | ||
| 2 年前 | ||
| 6 年前 | ||
| 7 个月前 | ||
| 6 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 3 个月前 | ||
| 6 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 5 年前 | ||
| 2 年前 | ||
| 6 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 6 年前 | ||
| 2 个月前 | ||
| 6 年前 | ||
| 3 个月前 | ||
| 6 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 5 年前 | ||
| 2 年前 | ||
| 6 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 6 年前 | ||
| 2 年前 | ||
| 6 年前 | ||
| 7 个月前 | ||
| 3 年前 | ||
| 3 年前 | ||
| 2 年前 | ||
| 4 年前 | ||
| 2 年前 | ||
| 4 年前 |