Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [cdt-dev] issue with getting the output of gdb command 'info record'

Hi, 

Can you include a sample of the MI trace, your request and the response? 

I have to access my computer to look at it more closely, but if you aren't including the results in the MI response you have to peek at the OOB (out of bounds) records. That may only work if the done message comes after the OOB records. If the done comes first then you have to manually reinterpret the results by processing the individual objects coming from GDB. 

Anyway, the MI trace will make it easier for me to direct you in the right direction, which include recommending improvements to GDB (if possible) 

PS. Marc is no longer active, and I doubt that email address still works. I don't know about Ravitheja, but I haven't see any CDT activity from them in a while. 

HTH, 
Jonah 

On Fri., Jun. 17, 2022, 20:08 Zied Guermazi, <zied.guermazi@xxxxxxxxx> wrote:

hi

I am extending eclipse to handle gdb record btrace, and display and navigate in instructions and function-calls histories.

I would like to inform the user about the status of the recording and therefore I need to issue the gdb command 'info record'

here is the implementation of the command

public void infoRecord(ICommandControlDMContext context, RequestMonitor rm) { if (fReverseTraceMethod != ReverseDebugMethod.OFF) { getConnection().queueCommand(fCommandFactory.createCLIInfoRecord(context), new DataRequestMonitor<CLIInfoRecordInfo>(getExecutor(), rm) { @Override public void handleFailure() { setResumePending(false); getCache().setContextAvailable(context, true); } @Override protected void handleSuccess() { Integer count = getData().getFunctionsCount(); System.out.println("Recording " + getData().getIsRecording() + ", icount " + getData().getInstructionsCount() + ", fcount " + getData().getFunctionsCount() + ", Replaying " + getData().getIsReplaying() + ", replaying at: " + getData().getReplyingInstruction() + " <=================="); System.out.println("GDBRunControl.handleSuccess DataRequestMonitor"); System.out.println("getDate(): " + getData() + ", " + count); rm.done(); } }); } else { rm.done(); } }

the command is issued properly but I am not able to get the data back.

the only location where the command is additionally consumed is

public void eventReceived(Object output) {

defined in GDBRunControl_7_10.java.
this function was introduced on 01.03.2016 to fix bug 488660.

can this method lead to the consumption of the output and therefore preventing the CLIInfoRecordInfo from getting and processing the output properly?

do you have a suggestion to overcome this issue?

Kind Regards
Zied Guermazi

--

Zied Guermazi founder Trande GmbH Leuschnerstraße 2 69469 Weinheim/Germany Mobile: +491722645127 mailto:zied.guermazi@xxxxxxxxx Trande GmbH Leuschnerstraße 2, D-69469 Weinheim; Telefon: +491722645127 Sitz der Gesellschaft: Weinheim- Registergericht: AG Mannheim HRB 736209 - Geschäftsführung: Zied Guermazi

Confidentiality Note This message is intended only for the use of the named recipient(s) and may contain confidential and/or privileged information. If you are not the intended recipient, please contact the sender and delete the message. Any unauthorized use of the information contained in this message is prohibited.

_______________________________________________
cdt-dev mailing list
cdt-dev@xxxxxxxxxxx
To unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/cdt-dev

Attachment: 7oNUOORA9y8a15mW.png
Description: PNG image


Back to the top