This is the mail archive of the gdb@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

MI error messages


 > Below is a short MI session:
 > 
 >        (gdb) -var-assign KDEVTMP br
 >        &"mi_cmd_var_assign: Could not assign expression to varible object\n"
 >        ^error,msg="mi_cmd_var_assign: Could not assign expression to varible
 > 
 > The good thing about this is that I can easily detect that's an error, and
 > show a message to the user. The bad thing is that the message includes
 > 'mi_cmd_var_assign:' part. For end user of KDevelop, or even end user of
 > gdb, this makes no sense -- it's the name of internal function. It can only
 > confuse.

In June of last year there was a thread ([PATCH] MI error messages) about this
subject (see archives).  I think it was similarly suggested that the procedure
name was unnecessary.  Some error messages are for the user, and some should
only occur if there is a bug in the front end and should never really be seen
by the user.  The example you give above is the latter.  I think these
shouldn't also get reported on the log/error stream (prefixed with &).  In the
end we didn't resolve the issue and nothing was changed.

 > So, could somebody tell:
 > 
 > 1. Is it guaranteed that all MI error message start with function name and a
 > semicolon?

Not currently, look at the sources.

 > 2. If not, is there any regexp that can be used to remove the function name,
 > that's guaranteed to work for all current and future MI error messages.
 > Removing anything before first semicolon is risky -- error message can
 > contain ':' for other reasons.

If you are going to rely on any syntax, you need to check current messages
and document any rules for future reference.

 > 3. If not, can the function name be removed?

I think error reporting needs to be overhauled.  Many changes could be made,
removing function names is one of them.

Nick


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]