From ec45dd0195ebcd3b0ae98df932dc3e14b2da7914 Mon Sep 17 00:00:00 2001 From: TermiNexus Date: Wed, 26 Aug 2026 21:59:09 +0800 Subject: [PATCH] =?UTF-8?q?debug(funcattrs):=20=E6=89=93=E5=8D=B0=20=5Fapp?= =?UTF-8?q?end=5Fstr=20max=5Flen=20=E5=AE=9E=E9=99=85=E5=80=BC=E4=B8=8E?= =?UTF-8?q?=E5=86=99=E5=85=A5=E5=90=8E=20strlen=EF=BC=8C=E5=AE=9A=E4=BD=8D?= =?UTF-8?q?=20attrs=20=E5=8F=98=E7=A9=BA=E6=A0=B9=E5=9B=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- App/lib/core/Gen/FuncGenBase.vp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/App/lib/core/Gen/FuncGenBase.vp b/App/lib/core/Gen/FuncGenBase.vp index 0f1cbdb..12943b3 100644 --- a/App/lib/core/Gen/FuncGenBase.vp +++ b/App/lib/core/Gen/FuncGenBase.vp @@ -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)