clayborg added inline comments.

================
Comment at: lldb/source/Core/IOHandlerCursesGUI.cpp:4331-4333
+    if (StateIsRunningState(process->GetState())) {
+      return false;
+    }
----------------
Remove {} for single statement if statements per LLVM guidelines


================
Comment at: lldb/source/Core/IOHandlerCursesGUI.cpp:4448
+    Process *process = m_debugger.GetSelectedTarget()->GetProcessSP().get();
+    symbol_context.DumpStopContext(&stream, process, address,
+                                   false, /* Show full paths. */
----------------
I would show the address first, then the dump of the symbol context. You can 
ask the address from the location to dump itself as a load address and fallback 
to module + file address. Check out the Address::Dump function:

```
  bool Address::Dump(Stream *s, ExecutionContextScope *exe_scope, DumpStyle 
style, DumpStyle fallback_style, uint32_t addr_byte_size) const;
```

To get the raw address first in the string, you can first call the dump with:

```
// Emit the breakpoint location ID
stream.Format("{0} ", breakpoint_location->GetID())
// Emit the the address as a load address if the process is running, or 
fallback to <module>[<file-addr>] format if no process is running
address.Dump(&stream, process,  DumpStyleLoadAddress, 
DumpStyleModuleWithFileAddress, process->GetAddressByteSize());
```

Then you can add a space and then call this again with:

```
stream.PutChar(' ');
// Dump the resolved address description
address.Dump(&stream, process,  DumpStyleResolvedDescription, DumpStyleInvalid, 
process->GetAddressByteSize());
```

I believe that "DumpStyleResolvedDescription" will dump something verify 
similar to what you are dumping here with the 
"symbol_context.DumpStopContext(...)" call.


================
Comment at: lldb/source/Core/IOHandlerCursesGUI.cpp:4454
+                                   true /* Show function name. */);
+    window.PutCStringTruncated(1, stream.GetString().str().c_str());
+  }
----------------
Breakpoint locations have integer IDs. We should show these as the first item 
in the string.

Take a look at the output of "breakpoint list" or "breakpoint list --verbose" 
for ideas on how to format the string.


================
Comment at: lldb/source/Core/IOHandlerCursesGUI.cpp:4457
+
+  void TreeDelegateGenerateChildren(TreeItem &item) override {}
+
----------------
We could allow locations to be expanded and then show the details of the 
resolved address like in the "breakpoint list --verbose" output:
```
(lldb) breakpoint list --verbose
Current breakpoints:
1: name = 'main'
    1.1: 
      module = /Users/gclayton/Documents/src/args/build/a.out
      compile unit = main.cpp
      function = main
      location = /Users/gclayton/Documents/src/args/main.cpp:5:3
      address = a.out[0x0000000100003f3a]
      resolved = false
      hardware = false
      hit count = 0   
```
We could make a child for each of the lines in this output. I believe the about 
output is from calling Address::Dump(...) with a DumpStyle of 
"DumpStyleDetailedSymbolContext" (see above details on how to call 
Address::Dump(...)). You can dump this to a "StringStream" and then get the 
std::string back from it and split the string using newlines if you like that 
idea. I like the idea of getting full details on a breakpoint location by being 
able to expand it.


================
Comment at: lldb/source/Core/IOHandlerCursesGUI.cpp:4481
+    BreakpointSP breakpoint = GetBreakpoint(item);
+    StreamString stream;
+    breakpoint->GetResolverDescription(&stream);
----------------
Breakpoints have integer IDs. We should show these as the first item in the 
string. Not sure on the formatting of this number, maybe just the raw number 
followed by a space or possibly with square brackets and a space.

Take a look at the output of "breakpoint list" or "breakpoint list --verbose" 
for ideas on how to format the string.


================
Comment at: lldb/source/Core/IOHandlerCursesGUI.cpp:6635
     view_menu_sp->AddSubmenu(
         MenuSP(new Menu("Backtrace", nullptr, 'b',
                         ApplicationDelegate::eMenuID_ViewBacktrace)));
----------------
We would switch this one to 't' for backTrace and then let the breakpoint view 
take the 'b' key?


================
Comment at: lldb/source/Core/IOHandlerCursesGUI.cpp:6646
+    view_menu_sp->AddSubmenu(
+        MenuSP(new Menu("Breakpoints", nullptr, 'k',
+                        ApplicationDelegate::eMenuID_ViewBreakpoints)));
----------------
switch to 'b' and mentioned above?


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D107386/new/

https://reviews.llvm.org/D107386

_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to