在Ubuntu 18.04中使用LLDB调试Swift 5.1时> 我正在尝试在linux中使用lldb调试swift代码,但失败了。 [当我尝试检查更复杂的Struct变量时,我得到“” 我尝试使用较旧的版本,但得到的结果相同,我想我缺少与此相关的一些配置 我有来自快速文档的简单代码 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的情况 所以,有人能看到我在做什么错吗? 我正在尝试在linux中使用lldb调试swift代码,但失败了。当我尝试检查更复杂的Struct变量时,出现“”,我尝试使用较旧的版本,并且得到... 您的印刷声明将不会给您带来可读性。尝试打印出bpOfWater.temperatureInCelsius

问题描述 投票:0回答:1
我正在尝试在linux中使用lldb调试swift代码,但失败了。

[当我尝试检查更复杂的Struct变量时,我得到“”

我尝试使用较旧的版本,但得到的结果相同,我想我缺少与此相关的一些配置

我有来自快速文档的简单代码

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的情况

所以,有人能看到我在做什么错吗?

我正在尝试在linux中使用lldb调试swift代码,但失败了。当我尝试检查更复杂的Struct变量时,出现“”,我尝试使用较旧的版本,并且得到...

swift ubuntu debugging lldb
1个回答
0
投票
您的印刷声明将不会给您带来可读性。尝试打印出bpOfWater.temperatureInCelsius
© www.soinside.com 2019 - 2024. All rights reserved.