Skip to content

Commit a8855e8

Browse files
committed
Try to load dwarf info if there is no .map in the start screen
Also added macos build for dwarf-line-mapping.
1 parent e516cb2 commit a8855e8

3 files changed

Lines changed: 7 additions & 2 deletions

File tree

dwarf-line-mapping-mac

14.7 MB
Binary file not shown.

src/main/kotlin/be/ugent/topl/mio/sourcemap/DwarfSourceMap.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package be.ugent.topl.mio.sourcemap
22

33
import com.fasterxml.jackson.databind.ObjectMapper
44
import com.fasterxml.jackson.module.kotlin.registerKotlinModule
5+
import com.formdev.flatlaf.util.SystemInfo
56
import org.fife.ui.rsyntaxtextarea.SyntaxConstants
67
import java.io.BufferedReader
78
import java.io.File
@@ -48,7 +49,7 @@ class DwarfSourceMap(
4849

4950
fun getDwarfSourcemap(wasmFilename: String): SourceMap {
5051
val process = ProcessBuilder(
51-
"./dwarf-line-mapping",
52+
if (SystemInfo.isMacOS) "./dwarf-line-mapping-mac" else "./dwarf-line-mapping",
5253
wasmFilename
5354
).redirectErrorStream(true).start()
5455

src/main/kotlin/be/ugent/topl/mio/ui/StartScreen.kt

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import be.ugent.topl.mio.DebuggerConfig
44
import be.ugent.topl.mio.connections.ProcessConnection
55
import be.ugent.topl.mio.connections.SerialConnection
66
import be.ugent.topl.mio.sourcemap.AsSourceMapping
7+
import be.ugent.topl.mio.sourcemap.getDwarfSourcemap
78
import com.fazecast.jSerialComm.SerialPort
89
import com.formdev.flatlaf.extras.FlatSVGIcon
910
import com.formdev.flatlaf.util.SystemFileChooser
@@ -86,7 +87,10 @@ open class StartScreen(config: DebuggerConfig) : AboutScreen(config) {
8687
}
8788
val sourceMapFile = File(binary.path + ".map")
8889
if (!sourceMapFile.exists()) {
89-
JOptionPane.showMessageDialog(this, "File does not have an associated sourcemap (.map) file!", "Missing sourcemaps", JOptionPane.ERROR_MESSAGE)
90+
val sourceMapping = getDwarfSourcemap(binary.path)
91+
InteractiveDebugger(connection, sourceMapping, binary.path, config = config)
92+
return true
93+
//JOptionPane.showMessageDialog(this, "File does not have an associated sourcemap (.map) file!", "Missing sourcemaps", JOptionPane.ERROR_MESSAGE)
9094
return false
9195
}
9296
val sourceMapping = AsSourceMapping(File(binary.path + ".map").readText())

0 commit comments

Comments
 (0)