debug(funcattrs): 打印 _append_str max_len 实际值与写入后 strlen,定位 attrs 变空根因
This commit is contained in:
1 parent
f27a32b9f4
commit
ec45dd0195
1 file changed
+3
-2
@@ -134,8 +134,8 @@ class FuncGenBase(CallGenBase.CallGenBase):
|
||||
|
||||
# 映射到 LLVM 属性名并追加
|
||||
ar: int = self._append_llvm_attr(attrs_buf, attr_name)
|
||||
stdio.printf("[ATTR] arg[%d] name='%s' append=%d buf='%s'\n",
|
||||
ai, attr_name, ar, attrs_buf)
|
||||
stdio.printf("[ATTR] arg[%d] name='%s' append=%d buf='%s' blen=%zu b0=0x%02x\n",
|
||||
ai, attr_name, ar, attrs_buf, string.strlen(attrs_buf), attrs_buf[0])
|
||||
if ar != 0:
|
||||
found_any = 1
|
||||
# 追加成功后,如果不是最后一个属性,添加空格分隔
|
||||
@@ -221,6 +221,7 @@ class FuncGenBase(CallGenBase.CallGenBase):
|
||||
return
|
||||
cur_len: t.CSizeT = string.strlen(buf)
|
||||
s_len: t.CSizeT = string.strlen(s)
|
||||
stdio.printf("[ATTR] _append_str: max_len=%zu cur=%zu slen=%zu s='%s'\n", max_len, cur_len, s_len, s)
|
||||
if cur_len + s_len + 1 > max_len:
|
||||
return # 无剩余容量:丢弃本次追加,避免越界写
|
||||
string.strcpy(buf + cur_len, s)
|
||||
|
||||
Reference in new issue
Block a user