从 3.4.2 Build 15 起,CovScript 解释器正式支持了 cSYM (CovScript Symbols) 调试信息,可以通过 --csym 或 -g 指定源文件对应的 cSYM 文件
cSYM 文件的作用主要是为了解决 ECS 之类构建在 Cov3 基础上的语言报错无法与源代码对应的问题,其文件组成也非常简单,为一个 cSYM 文件头和源文件代码组成:
#$cSYM/1.0(文件名):映射序列...
源文件代码
映射序列的规则本身也非常简单,即 Cov3 代码具体哪一行对应源文件哪一行,每个记录之间用逗号分隔,用 - 代表这段代码是内部实现,比如:
#$cSYM/1.0(picasso.ecs):-,-,-,-,0,2,3,4,5,8,9,10,11
package picasso
import picasso_base as base
import picasso_activity as activities
import picasso_widget as widgets
import picasso_window as windows
# import picasso_layout as layouts
link simple_activity = base.simple_activity
link simple_window = base.simple_window
link linear_layout = base.linear_layout
link application = base.application
而这段 cSYM 对应的 Cov3 代码是:
# Generated by Extended CovScript Compiler
# DO NOT MODIFY
# Date: Sat Apr 1 01:22:36 2023
import ecs as picasso_ecs
package picasso
import picasso_base as base
import picasso_activity as activities
import picasso_widget as widgets
import picasso_window as windows
link simple_activity = base.simple_activity
link simple_window = base.simple_window
link linear_layout = base.linear_layout
link application = base.application