AerScript Debugger #46

オープン
belliash2018-09-06 10:01:02 +02:00に作成 · 2件のコメント
オーナー

We have already made a lot of changes to compiler and VM, that improves the error reporting. However I think we still miss real debugger. Actually we are only capable of displaying a list of instructions that have been executed by VM with the values of P1, P2 and address of P3 pointer, as well as source file and line number the instruction comes from. I think this is not sufficient. What is more, using the debugging currently increases memory usage a lot, because a list of instructions is cached and then put to the OutputCallback. Thus debug information is sent to the same place where script output and displayed just afterwards.

In scope of this ticket, I would like to discuss an ability to implement a real debugger that will put all information in the real time into some separate container. As Aer can be used with (Fast)CGI, we cannot simply output the debug information. I think we should consider a debugger putting all information into some file that could be analyzed later, after execution (manually or with help of some additional application), or to create a thread listening on some port/socket that would be sending all information to separate process.

What are your ideas about debugger?

We have already made a lot of changes to compiler and VM, that improves the error reporting. However I think we still miss real debugger. Actually we are only capable of displaying a list of instructions that have been executed by VM with the values of P1, P2 and address of P3 pointer, as well as source file and line number the instruction comes from. I think this is not sufficient. What is more, using the debugging currently increases memory usage a lot, because a list of instructions is cached and then put to the OutputCallback. Thus debug information is sent to the same place where script output and displayed just afterwards. In scope of this ticket, I would like to discuss an ability to implement a real debugger that will put all information in the real time into some separate container. As Aer can be used with (Fast)CGI, we cannot simply output the debug information. I think we should consider a debugger putting all information into some file that could be analyzed later, after execution (manually or with help of some additional application), or to create a thread listening on some port/socket that would be sending all information to separate process. What are your ideas about debugger?
belliash がラベル
enhancement
を追加 2018-09-06 10:01:02 +02:00
オーナー

First of all, we should implement a logging support. All output from compiler and VM could be logged then. Having this, we could use same mechanism to log debugging information to another file. Such file, can be then manually interpreted or we can write some additional application for that purpose in the future.

I imagine, that debugger would save the following information:

  • every method call,
  • every value change,
  • file and line number triggered OP call,
  • OP call execution time
First of all, we should implement a logging support. All output from compiler and VM could be logged then. Having this, we could use same mechanism to log debugging information to another file. Such file, can be then manually interpreted or we can write some additional application for that purpose in the future. I imagine, that debugger would save the following information: * every method call, * every value change, * file and line number triggered OP call, * OP call execution time
作成者
オーナー

I have moved a debugging related code to debug.c in 9d762a235.

I have moved a debugging related code to debug.c in 9d762a235.
サインインしてこの会話に参加。
マイルストーンなし
担当者なし
2 人の参加者
通知
期日
期日が正しくないか範囲を超えています。 'yyyy-mm-dd' の形式で入力してください。

期日は未設定です。

依存関係

依存関係が設定されていません。

リファレンス: aerscript/Aer#46
説明はありません。