Chapter 1, Page 30 and XCode 9.3

the line

(lldb) breakpoint modify 1 -c ‘(BOOL)[$rdi isKindOfClass:
(id)NSClassFromString(@“IDEPegasusSourceEditor.SourceCodeEditorView”)]’

did not work in my case - just a flashing out in the console which I could not read

I changed the line in

(lldb) breakpoint modify 1 -c ‘(BOOL)[$rdi isKindOfClass:(id)NSClassFromString(@“SourceEditor.SourceEditorView”)]’

And everything works again.

I’m pretty sure that I used this version with IDEPegasus… before and I guess there’s an API change.

@lolgrep Do you have any feedback regarding this? Thank you - much appreciated! :]

Can confirm that @tetanuss solution works for me as well. Curiously enough, when I tried to do the query for Swift frameworks a few pages back I got back this list:

Xcode
DVTFoundation
DVTKit
IDEFoundation
IDEKit
libswiftAVFoundation.dylib
libswiftCore.dylib
libswiftCoreAudio.dylib
libswiftCoreFoundation.dylib
libswiftCoreGraphics.dylib
libswiftCoreMedia.dylib
libswiftDarwin.dylib
libswiftDispatch.dylib
libswiftFoundation.dylib
libswiftObjectiveC.dylib
libswiftQuartzCore.dylib
libswiftsimd.dylib
libswiftAppKit.dylib
libswiftCoreData.dylib
libswiftos.dylib
SourceKit
DVTAnalytics
DVTDocumentation
DNTDocumentationModel
DNTDocumentationSupport
DVTSourceControl
DNTSourceKitSupport
DVTSourceControlHostedAccount
DVTAnalyticsClient
DNTTransformer
IDEProducts
SimulatorKit
libswiftAccelerate.dylib
IDESourceCodeComparisonEditor
IDESourceEditor
SourceEditor
MarkupSupport
SourceKitSupport
SourceModelSupport
DVTSourceEditor
DVTMarkup
IDESourceControlUI
IDEProductsUI
IDEDocViewer
GPURenderTargetEditor
IDESceneKitEditor
IDEPlaygroundEditor
IDEPegasusPlaygroundEditor
XCSCore
XCSUI
XCSAdministration
libswiftSwiftOnoneSupport.dylib
SwiftProtobuf
XCBuildSupport
XCBuild
XCBProtocol
XCBUtil
IDEQuickHelp

Which does not include IDEPegasusSourceEditor. Did a recent Xcode update change things?

For Xcode 9.4, replace:
(lldb) breakpoint modify 1 -c ‘(BOOL)[$rdi isKindOfClass:
(id)NSClassFromString(@“IDEPegasusSourceEditor.SourceCodeEditorView”)]’
By:
(lldb) breakpoint modify 1 -c ‘(BOOL)[$rdi isKindOfClass:
(id)NSClassFromString(@“IDESourceEditor.IDESourceEditorView”)]’

1 Like

@lolgrep Can you please help with this when you get a chance? Thank you - much appreciated! :]

Yes, they’ve been busy in changing stuff around. I’ll probably be replacing this chapter since this area is too “hot” and too many changes are happening

In the new version (2.0) of the book and XCode 10.0 fclement post describes still the solution. In other words - the error with the Pegasus class is still in the book…

@lolgrep Do you have any feedback about this? Thank you - much appreciated! :]

Check out the 3rd edition of the book which covers Xcode 10