0

私のluaソースファイルのファイル名は60文字を超えています(絶対パスは必要ありません)デバッガーの実行中に、LuaDebugger.csはブレークポイントチェックを実行します。

breakpoint = GetBreakpoint(src, line);

GetBreakpointはGetFile()を呼び出しますが、次の理由で常にnullを返します。

String.Compare(fileName, file.FileName, StringComparison.OrdinalIgnoreCase) 

失敗する

when filename = luaDebug.shortsrc 

(shortsrcはによって定義され [System.Runtime.InteropServices.MarshalAs(System.Runtime.InteropServices.UnmanagedType.ByValTStr, SizeConst = 60/*LUA_IDSIZE*/)] ます)

使用するfilename = luaDebug.source.toString().Substring(1)と機能しますが、luainterface-debuggerのソースコードを変更したくありません。

4

1 に答える 1

2

ソースコードを変更したくない場合は、問題を引き起こしているのはソースコード自体であるため、選択肢はほとんどありません(LUA_IDSIZE constだと思います)。

コードを変更しないと、使用できるオプションは非常に制限されます。それらはすべて、60を超える文字パスを持つことをあきらめることを含みます。

于 2012-04-26T09:46:45.213 に答える