forked from OSchip/llvm-project
parent
a6ce3fe72b
commit
4e8be2c98e
|
@ -17,7 +17,7 @@ D: Build scripts, Test suite, Platform, gdb-remote, Anything not covered by this
|
|||
N: Jim Ingham
|
||||
E: jingham@apple.com
|
||||
D: Overall LLDB architecture, Thread plans, Expression parser, ValueObject, Breakpoints, ABI
|
||||
D: Watchpoints, Trampolines, Target, Command Interpreter, C++ / Objective C Language runtime
|
||||
D: Watchpoints, Trampolines, Target, Command Interpreter, C++ / Objective-C Language runtime
|
||||
D: Expression evaluator, IR interpreter, Clang integration
|
||||
D: Data Formatters
|
||||
|
||||
|
|
|
@ -410,7 +410,7 @@ public:
|
|||
m_sort_type = eSortTypeBytes;
|
||||
}
|
||||
if (print && m_size > 0) {
|
||||
puts("Objective C objects by total bytes:");
|
||||
puts("Objective-C objects by total bytes:");
|
||||
puts("Total Bytes Class Name");
|
||||
puts("----------- "
|
||||
"-----------------------------------------------------------------");
|
||||
|
@ -427,7 +427,7 @@ public:
|
|||
m_sort_type = eSortTypeCount;
|
||||
}
|
||||
if (print && m_size > 0) {
|
||||
puts("Objective C objects by total count:");
|
||||
puts("Objective-C objects by total count:");
|
||||
puts("Count Class Name");
|
||||
puts("-------- "
|
||||
"-----------------------------------------------------------------");
|
||||
|
|
|
@ -626,7 +626,7 @@ enum SectionType {
|
|||
eSectionTypeDebug,
|
||||
eSectionTypeZeroFill,
|
||||
eSectionTypeDataObjCMessageRefs, // Pointer to function pointer + selector
|
||||
eSectionTypeDataObjCCFStrings, // Objective C const CFString/NSString objects
|
||||
eSectionTypeDataObjCCFStrings, // Objective-C const CFString/NSString objects
|
||||
eSectionTypeDWARFDebugAbbrev,
|
||||
eSectionTypeDWARFDebugAddr,
|
||||
eSectionTypeDWARFDebugAranges,
|
||||
|
|
|
@ -22,7 +22,7 @@ class TestObjCBreakpoints(TestBase):
|
|||
mydir = TestBase.compute_mydir(__file__)
|
||||
|
||||
def test_break(self):
|
||||
"""Test setting Objective C specific breakpoints (DWARF in .o files)."""
|
||||
"""Test setting Objective-C specific breakpoints (DWARF in .o files)."""
|
||||
self.build()
|
||||
self.setTearDownCleanup()
|
||||
self.check_objc_breakpoints(False)
|
||||
|
|
|
@ -32,7 +32,7 @@ int main()
|
|||
struct things_to_sum tts = { 2, 3, 4 };
|
||||
int ret = [summer sumThings:tts];
|
||||
NSRect rect = {{0, 0}, {10, 20}};
|
||||
// The Objective C V1 runtime won't read types from metadata so we need
|
||||
// The Objective-C V1 runtime won't read types from metadata so we need
|
||||
// NSValue in our debug info to use it in our test.
|
||||
NSValue *v = [NSValue valueWithRect:rect];
|
||||
return rect.origin.x; // Set breakpoint here.
|
||||
|
|
|
@ -283,7 +283,7 @@ static OptionDefinition g_breakpoint_set_options[] = {
|
|||
{ LLDB_OPT_SET_9, false, "source-regexp-function", 'X', OptionParser::eRequiredArgument, nullptr, nullptr, CommandCompletions::eSymbolCompletion, eArgTypeFunctionName, "When used with '-p' limits the source regex to source contained in the named "
|
||||
"functions. Can be repeated multiple times." },
|
||||
{ LLDB_OPT_SET_4, true, "fullname", 'F', OptionParser::eRequiredArgument, nullptr, nullptr, CommandCompletions::eSymbolCompletion, eArgTypeFullName, "Set the breakpoint by fully qualified function names. For C++ this means "
|
||||
"namespaces and all arguments, and for Objective C this means a full function "
|
||||
"namespaces and all arguments, and for Objective-C this means a full function "
|
||||
"prototype with class and selector. Can be repeated multiple times to make "
|
||||
"one breakpoint for multiple names." },
|
||||
{ LLDB_OPT_SET_5, true, "selector", 'S', OptionParser::eRequiredArgument, nullptr, nullptr, 0, eArgTypeSelector, "Set the breakpoint by ObjC selector name. Can be repeated multiple times to "
|
||||
|
|
|
@ -31,7 +31,7 @@
|
|||
#include <sys/syslimits.h>
|
||||
#include <sys/types.h>
|
||||
|
||||
// Objective C/C++ includes
|
||||
// Objective-C/C++ includes
|
||||
#include <CoreFoundation/CoreFoundation.h>
|
||||
#include <Foundation/Foundation.h>
|
||||
#include <mach-o/dyld.h>
|
||||
|
|
|
@ -107,7 +107,7 @@ bool ObjCLanguage::MethodName::SetName(llvm::StringRef name, bool strict) {
|
|||
|
||||
if (valid_prefix) {
|
||||
int name_len = name.size();
|
||||
// Objective C methods must have at least:
|
||||
// Objective-C methods must have at least:
|
||||
// "-[" or "+[" prefix
|
||||
// One character for a class name
|
||||
// One character for the space between the class name
|
||||
|
|
|
@ -84,7 +84,7 @@ AppleObjCRuntimeV1::CreateInstance(Process *process,
|
|||
|
||||
void AppleObjCRuntimeV1::Initialize() {
|
||||
PluginManager::RegisterPlugin(
|
||||
GetPluginNameStatic(), "Apple Objective C Language Runtime - Version 1",
|
||||
GetPluginNameStatic(), "Apple Objective-C Language Runtime - Version 1",
|
||||
CreateInstance);
|
||||
}
|
||||
|
||||
|
|
|
@ -769,7 +769,7 @@ public:
|
|||
|
||||
void AppleObjCRuntimeV2::Initialize() {
|
||||
PluginManager::RegisterPlugin(
|
||||
GetPluginNameStatic(), "Apple Objective C Language Runtime - Version 2",
|
||||
GetPluginNameStatic(), "Apple Objective-C Language Runtime - Version 2",
|
||||
CreateInstance,
|
||||
[](CommandInterpreter &interpreter) -> lldb::CommandObjectSP {
|
||||
return CommandObjectSP(new CommandObjectMultiwordObjC(interpreter));
|
||||
|
@ -1785,7 +1785,7 @@ void AppleObjCRuntimeV2::UpdateISAToDescriptorMapIfNeeded() {
|
|||
DescriptorMapUpdateResult dynamic_update_result =
|
||||
UpdateISAToDescriptorMapDynamic(hash_table);
|
||||
|
||||
// Now get the objc classes that are baked into the Objective C runtime in
|
||||
// Now get the objc classes that are baked into the Objective-C runtime in
|
||||
// the shared cache, but only once per process as this data never changes
|
||||
if (!m_loaded_objc_opt) {
|
||||
// it is legitimately possible for the shared cache to be empty - in that
|
||||
|
|
|
@ -474,7 +474,7 @@ TypeSP DWARFASTParserClang::ParseTypeFromDWARF(const SymbolContext &sc,
|
|||
if (log)
|
||||
dwarf->GetObjectFile()->GetModule()->LogMessage(
|
||||
log, "SymbolFileDWARF::ParseType (die = 0x%8.8x) %s '%s' "
|
||||
"is Objective C 'id' built-in type.",
|
||||
"is Objective-C 'id' built-in type.",
|
||||
die.GetOffset(), die.GetTagAsCString(), die.GetName());
|
||||
clang_type = m_ast.GetBasicType(eBasicTypeObjCID);
|
||||
encoding_data_type = Type::eEncodingIsUID;
|
||||
|
@ -485,7 +485,7 @@ TypeSP DWARFASTParserClang::ParseTypeFromDWARF(const SymbolContext &sc,
|
|||
if (log)
|
||||
dwarf->GetObjectFile()->GetModule()->LogMessage(
|
||||
log, "SymbolFileDWARF::ParseType (die = 0x%8.8x) %s '%s' "
|
||||
"is Objective C 'Class' built-in type.",
|
||||
"is Objective-C 'Class' built-in type.",
|
||||
die.GetOffset(), die.GetTagAsCString(), die.GetName());
|
||||
clang_type = m_ast.GetBasicType(eBasicTypeObjCClass);
|
||||
encoding_data_type = Type::eEncodingIsUID;
|
||||
|
@ -495,7 +495,7 @@ TypeSP DWARFASTParserClang::ParseTypeFromDWARF(const SymbolContext &sc,
|
|||
if (log)
|
||||
dwarf->GetObjectFile()->GetModule()->LogMessage(
|
||||
log, "SymbolFileDWARF::ParseType (die = 0x%8.8x) %s '%s' "
|
||||
"is Objective C 'selector' built-in type.",
|
||||
"is Objective-C 'selector' built-in type.",
|
||||
die.GetOffset(), die.GetTagAsCString(), die.GetName());
|
||||
clang_type = m_ast.GetBasicType(eBasicTypeObjCSel);
|
||||
encoding_data_type = Type::eEncodingIsUID;
|
||||
|
@ -3515,7 +3515,7 @@ size_t DWARFASTParserClang::ParseChildParameters(
|
|||
skip = true;
|
||||
} else {
|
||||
|
||||
// HACK: Objective C formal parameters "self" and "_cmd"
|
||||
// HACK: Objective-C formal parameters "self" and "_cmd"
|
||||
// are not marked as artificial in the DWARF...
|
||||
CompileUnit *comp_unit = die.GetLLDBCompileUnit();
|
||||
if (comp_unit) {
|
||||
|
|
|
@ -477,7 +477,7 @@ void ManualDWARFIndex::Dump(Stream &s) {
|
|||
m_set.function_methods.Dump(&s);
|
||||
s.Printf("\nFunction selectors:\n");
|
||||
m_set.function_selectors.Dump(&s);
|
||||
s.Printf("\nObjective C class selectors:\n");
|
||||
s.Printf("\nObjective-C class selectors:\n");
|
||||
m_set.objc_class_selectors.Dump(&s);
|
||||
s.Printf("\nGlobals and statics:\n");
|
||||
m_set.globals.Dump(&s);
|
||||
|
|
|
@ -1089,7 +1089,7 @@ bool SymbolFileDWARFDebugMap::Supports_DW_AT_APPLE_objc_complete_type(
|
|||
TypeSP SymbolFileDWARFDebugMap::FindCompleteObjCDefinitionTypeForDIE(
|
||||
const DWARFDIE &die, const ConstString &type_name,
|
||||
bool must_be_implementation) {
|
||||
// If we have a debug map, we will have an Objective C symbol whose name is
|
||||
// If we have a debug map, we will have an Objective-C symbol whose name is
|
||||
// the type name and whose type is eSymbolTypeObjCClass. If we can find that
|
||||
// symbol and find its containing parent, we can locate the .o file that will
|
||||
// contain the implementation definition since it will be scoped inside the
|
||||
|
|
|
@ -1649,7 +1649,7 @@ bool ClangASTContext::RecordHasFields(const RecordDecl *record_decl) {
|
|||
return false;
|
||||
}
|
||||
|
||||
#pragma mark Objective C Classes
|
||||
#pragma mark Objective-C Classes
|
||||
|
||||
CompilerType ClangASTContext::CreateObjCClass(const char *name,
|
||||
DeclContext *decl_ctx,
|
||||
|
|
|
@ -1465,7 +1465,7 @@ void Process::UpdateThreadListIfNeeded() {
|
|||
old_thread_list.GetThreadAtIndex(i, false)->ClearBackingThread();
|
||||
|
||||
// Turn off dynamic types to ensure we don't run any expressions.
|
||||
// Objective C can run an expression to determine if a SBValue is a
|
||||
// Objective-C can run an expression to determine if a SBValue is a
|
||||
// dynamic type or not and we need to avoid this. OperatingSystem
|
||||
// plug-ins can't run expressions that require running code...
|
||||
|
||||
|
|
|
@ -52,14 +52,14 @@
|
|||
<div class="postcontent">
|
||||
<p>LLDB currently converts debug information into clang types so that
|
||||
it can leverage the clang compiler infrastructure.
|
||||
This allows LLDB to support the latest C, C++, Objective C and Objective C++
|
||||
This allows LLDB to support the latest C, C++, Objective-C and Objective-C++
|
||||
language features and runtimes in expressions without having to reimplement <b>any</b>
|
||||
of this functionality. It also leverages the compiler to take care of all ABI
|
||||
details when making functions calls for expressions, when disassembling
|
||||
instructions and extracting instruction details, and much more.
|
||||
<p>The major benefits include:</p>
|
||||
<ul>
|
||||
<li>Up to date language support for C, C++, Objective C</li>
|
||||
<li>Up to date language support for C, C++, Objective-C</li>
|
||||
<li>Multi-line expressions that can declare local variables and types</li>
|
||||
<li>Utilize the JIT for expressions when supported</li>
|
||||
<li>Evaluate expression Intermediate Representation (IR) when JIT can't be used</li>
|
||||
|
|
|
@ -380,7 +380,7 @@
|
|||
</td>
|
||||
</tr>
|
||||
|
||||
<tr><td class="header" colspan="2">Set a breakpoint at all Objective C methods whose selector is <b>count</b>.</td></tr>
|
||||
<tr><td class="header" colspan="2">Set a breakpoint at all Objective-C methods whose selector is <b>count</b>.</td></tr>
|
||||
<tr>
|
||||
<td class="content">
|
||||
<b>(gdb)</b> break count<br>
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
<div class="postcontent">
|
||||
|
||||
<p>LLDB has matured a lot in the last year and can be used for
|
||||
C, C++ and Objective C development for x86_64, i386 and ARM debugging.
|
||||
C, C++ and Objective-C development for x86_64, i386 and ARM debugging.
|
||||
The entire public API is exposed though a framework on Mac OS X which
|
||||
is used by Xcode, the lldb command line tool, and can also be used by
|
||||
Python. The entire public API is exposed through script bridging which
|
||||
|
|
|
@ -109,7 +109,7 @@
|
|||
<br>(lldb) breakpoint set -M foo
|
||||
</code>
|
||||
|
||||
<p>To set a breakpoint Objective C selectors named <code>alignLeftEdges:</code> you can enter either of:</p>
|
||||
<p>To set a breakpoint Objective-C selectors named <code>alignLeftEdges:</code> you can enter either of:</p>
|
||||
|
||||
<code>
|
||||
(lldb) breakpoint set --selector alignLeftEdges:
|
||||
|
|
Loading…
Reference in New Issue