Я пытаюсь отладить swift-код с помощью lldb в linux и не могу это сделать.
Когда я пытаюсь проверить более сложные переменные Struct, я получаю ""
Iпробовал то же самое с более старой версией, и я получаю тот же результат, я думаю, мне не хватает некоторых настроек с этим
У меня есть простой код из быстрой документации
struct Celsius {
var temperatureInCelsius: Double
init(fromFahrenheit fahrenheit: Double) {
temperatureInCelsius = (fahrenheit - 32.0) / 1.8
}
init(fromKelvin kelvin: Double) {
temperatureInCelsius = kelvin - 273.15
}
}
let bpOfWater = Celsius(fromFahrenheit: 212.0)
let fpOfWater = Celsius(fromKelvin: 273.15)
print("\(bpOfWater)")
print("\(fpOfWater)")
с использованием lldb
$ which lldb
/usr/share/swift/usr/bin/lldb
$ lldb ./swift/apptest/.build/debug/apptest
(lldb) target create "./swift/apptest/.build/debug/apptest"
Current executable set to './swift/apptest/.build/debug/apptest' (x86_64).
(lldb) b -f main.swift -l 13
Breakpoint 1: where = apptest`main + 504 at main.swift:13:7, address = 0x0000000000001078
(lldb) r
Process 8061 launched: '/home/ubuntu/swift/apptest/.build/debug/apptest' (x86_64)
Celsius(temperatureInCelsius: 100.0)
Process 8061 stopped
* thread #1, name = 'apptest', stop reason = breakpoint 1.1
frame #0: 0x0000555555555078 apptest`main at main.swift:13:7
10 let bpOfWater = Celsius(fromFahrenheit: 212.0)
11 let fpOfWater = Celsius(fromKelvin: 273.15)
12 print("\(bpOfWater)")
-> 13 print("\(fpOfWater)")
Target 0: (apptest) stopped.
(lldb) frame variable bpOfWater
bpOfWater = <could not resolve type>
(lldb) frame variable fpOfWater
fpOfWater = <could not resolve type>
(lldb)
Итак, как вы видите, я получаю: не удалось разрешить тип
(lldb) frame variable bpOfWater
bpOfWater = <could not resolve type>
(lldb) frame variable fpOfWater
fpOfWater = <could not resolve type>
(lldb)
, и это не относится к типу String или Int
Итак, кто-нибудь может увидеть, кто яздесь делаешь неправильно?