From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-lf0-x22e.google.com (mail-lf0-x22e.google.com [IPv6:2a00:1450:4010:c07::22e]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 3781820080903 for ; Wed, 5 Apr 2017 02:53:14 -0700 (PDT) Received: by mail-lf0-x22e.google.com with SMTP id h125so4442352lfe.0 for ; Wed, 05 Apr 2017 02:53:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=EnYQR1HLh3D274YCGj1gYw6eFq6K60MCljBHHix0fKA=; b=JOrbp/p7/z8Ei4Aj/EBe2rw9pzbSsZXfuPbsyUM/jXBk3ZIBadEnczBmnzNsthj1cI 5sR4bemiqmboUBqbZFkhs9rEJYqmWMy/UtC734Ra7gl8VkjE//eU9mOEWp+b9Uzlc7gS yMJ5FUmbrfXp0bG2lre+MlA3aXS+CgCnl0J7fRp97aaU/ZAH+ApHAEi1Olpu1bnHIb+a HdHM+AkKPbWY4SfktW9gY3cHJ0M0YTgvTsGF+luh9HKPF9Q9vUBaMB/lghr80RH4y+BH GrhrDojvVf/AnUJs9tE0KVAT2k6mIfo+lEHGDCuWAzdfGgKsZpmK+IEcpWxWQOjxBLUt jZXA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=EnYQR1HLh3D274YCGj1gYw6eFq6K60MCljBHHix0fKA=; b=udO+MLOu1u3v/18vcPxKJ1mudOBJkQ94fkTriSb80m0Y2PtAvo3IJDK9b8j4BIAccu IrR2SBVh6HbIaO9d09pc/houdQ/BGZeEY6Zo3H45Y9W1izJQMBtRhOvMS3UUa9vptEIe gRn4waVpi72d1R/P8V2MgvfHuQochXrphcxEF/XTBCP6UTa2qSaBDFaitt7Chskj4Di9 nOle3EOiw2/Q/48kmuvZQ3pmcMdDOPN7Ji3APA9c1HbbXIitPZHpebnF6scA2AHX5kvo VLhcE7j6aPNPIo5DaXrjNwjx6b3CGV1eYziFzK/8wyqcZiuREAkq8gys9OarCXXx0FO6 Q/Ag== X-Gm-Message-State: AFeK/H09E4pCZDcRmrSZma6Io81RVQlkTjjMXqQVAmlaAx0PDLKnYge5XpiDvp4ikkPl4u47Hd7mn52NIslXGg== X-Received: by 10.46.77.10 with SMTP id a10mr7665208ljb.59.1491385992290; Wed, 05 Apr 2017 02:53:12 -0700 (PDT) MIME-Version: 1.0 Received: by 10.25.72.213 with HTTP; Wed, 5 Apr 2017 02:53:11 -0700 (PDT) In-Reply-To: <734D49CCEBEEF84792F5B80ED585239D5B8F8B7F@SHSMSX104.ccr.corp.intel.com> References: <542CF652F8836A4AB8DBFAAD40ED192A4C5811AF@shsmsx102.ccr.corp.intel.com> <542CF652F8836A4AB8DBFAAD40ED192A4C582311@shsmsx102.ccr.corp.intel.com> <542CF652F8836A4AB8DBFAAD40ED192A4C582422@shsmsx102.ccr.corp.intel.com> <542CF652F8836A4AB8DBFAAD40ED192A4C5824BE@shsmsx102.ccr.corp.intel.com> <542CF652F8836A4AB8DBFAAD40ED192A4C58254C@shsmsx102.ccr.corp.intel.com> <542CF652F8836A4AB8DBFAAD40ED192A4C582AAE@shsmsx102.ccr.corp.intel.com> <734D49CCEBEEF84792F5B80ED585239D5B8F62B6@SHSMSX104.ccr.corp.intel.com> <734D49CCEBEEF84792F5B80ED585239D5B8F8B7F@SHSMSX104.ccr.corp.intel.com> From: Arka Sharma Date: Wed, 5 Apr 2017 15:23:11 +0530 Message-ID: To: "Ni, Ruiyu" Cc: "Fan, Jeff" , "edk2-devel@lists.01.org" Subject: Re: Using Intel UDk debugger X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 05 Apr 2017 09:53:14 -0000 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable When I try to set break point after launching the application and CpuBreakpoint() is hit and symbols are seen in lmv command, the breakpoints are set using F9. I can list them with bl. But if I attempt to set a breakpoint with F9 before CpuBreakpoint is called WinDbg pops up a dialog box throwing the following error message "Symbol information for the current line could not be located in the currently loaded symbols.Do you want the debugger to load and search the remaining symbols? Yes performs the search immediately. No returns to the UI while search proceeds. Canel exits the operation.". If I select 'yes' then it shows breakpoint not set. In this case there is no symbols loaded for my application which I confirmed using lmv. The CpuBreakpoint() approach is ok for debugging the application. But I am also debugging the driver whose io routines are called by my application. The driver is loaded from Pci expansion ROM. I can manually load it from shell as well, but that will need code changes and rebuilding of the driver. That is why I am trying to figure out alternative approach. Regards, Arka On Sun, Apr 2, 2017 at 7:26 AM, Ni, Ruiyu wrote: > Arka, > Can you try to set unresolved breakpoint through Graphics UI? > Open the App.c file in WinDbg and put the caret in the line you want > to set breakpoint. Press F9 to set it. than use bl to confirm. > > Regards, > Ray > >>-----Original Message----- >>From: Arka Sharma [mailto:arka.sw1988@gmail.com] >>Sent: Saturday, April 1, 2017 4:57 PM >>To: Ni, Ruiyu >>Cc: Fan, Jeff ; edk2-devel@lists.01.org >>Subject: Re: [edk2] Using Intel UDk debugger >> >>Thanks Jeff and Ray. As of now I am using CpuBreakPoint() in the entry >>point of my application. Once I start the application __debugbreak() >>is getting called and I am able to set additional breakpoints. Also I >>confirmed the symbols are loaded using lmv. When I am trying to use >>unresolved breakpoint I was using "bu `!>name>:" syntax, when I was not using CpuBreakPoint(). I >>am using the same source in WinDbg as the image and symbol. After >>executing bu command in WinDbg I can find the breakpoint using bl >>command. >> >>On Sat, Apr 1, 2017 at 10:38 AM, Ni, Ruiyu wrote: >>> Arka, >>> Can you make sure that the source code is not modified after the image = symbol >>> is generated by compiler? >>> And can you send me a screenshot of WinDbg when you are using the unres= olved >>> breakpoint feature? I need to see which command is auto-pasted to WinDb= g from >>> UDK Debugger. >>> >>> Thanks/Ray >>> >>>> -----Original Message----- >>>> From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of >>>> Arka Sharma >>>> Sent: Friday, March 31, 2017 5:18 PM >>>> To: Fan, Jeff >>>> Cc: edk2-devel@lists.01.org >>>> Subject: Re: [edk2] Using Intel UDk debugger >>>> >>>> Thanks Jeff. Using CpuBreakPoint() has temporarily solved the purpose= . But >>>> I need the symbols to be loaded properly. Please let me know if I miss= ed >>>> something in building the application. As mentioned earlier I have dis= abled >>>> optimization and used --keepexceptiontable in GenFw. Is there somethin= g >>>> else I need to do. >>>> >>>> Regards, >>>> Arka >>>> >>>> On Fri, Mar 31, 2017 at 12:58 PM, Fan, Jeff wrote= : >>>> > It seems that symbols are not load correctly. >>>> > >>>> > Could you add CpuBreakpoint () in your application code to trigger S= W >>>> breakpoint by code instead of setting unresolved breakpoint by Windbg? >>>> And to check if it could break at CpuBreakpoint() and symbols if could= be >>>> loaded correctly. >>>> > >>>> > Jeff >>>> > -----Original Message----- >>>> > From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf = Of >>>> > Arka Sharma >>>> > Sent: Friday, March 31, 2017 2:53 PM >>>> > To: Fan, Jeff >>>> > Cc: edk2-devel@lists.01.org >>>> > Subject: Re: [edk2] Using Intel UDk debugger >>>> > >>>> > I have built my application with /Od and /Oy-, and GENFW_FLAGS as -- >>>> keepexceptiontable. After loading DebugAgentDxe I have set an unresolv= ed >>>> breakpoint in main routine of my application, but when I start my appl= ication >>>> in the target no breakpoint is hit. But when the application crashes t= he >>>> symbols are properly loaded in WinDbg and the asm code for the crash i= s >>>> displayed. >>>> > >>>> > Regards, >>>> > Arka >>>> > >>>> > On Fri, Mar 31, 2017 at 9:03 AM, Fan, Jeff wrot= e: >>>> >> Yes. >>>> >> >>>> >> If you want to enable flow control, you could set >>>> gEfiMdeModulePkgTokenSpaceGuid.PcdSerialUseHardwareFlowControl|TR >>>> UE in SourceLevelDebugPkg.dsc when you build DebugAgentDxe.efi. >>>> >> >>>> >> It could improve the serial port communication quality. >>>> >> >>>> >> Thanks! >>>> >> Jeff >>>> >> >>>> >> -----Original Message----- >>>> >> From: Arka Sharma [mailto:arka.sw1988@gmail.com] >>>> >> Sent: Friday, March 31, 2017 11:23 AM >>>> >> To: Fan, Jeff >>>> >> Cc: edk2-devel@lists.01.org >>>> >> Subject: Re: [edk2] Using Intel UDk debugger >>>> >> >>>> >> Thanks a lot Jeff. Setting FlowControl to 0 worked. Now I am able t= o break >>>> into the target system. Just wondering is it same as mentioned in >>>> UDK_Debugger_Tool_User_Manual_V1.11.pdf 2.2.3.2 "If the platform- >>>> specific Serial Port Library does not support hardware flow control, f= low >>>> control on the host machine should be turned off as well." >>>> >> >>>> >> Regards, >>>> >> Arka >>>> >> >>>> >> On Fri, Mar 31, 2017 at 8:23 AM, Fan, Jeff wro= te: >>>> >>> It's good start. Please drop the putty from now. >>>> >>> >>>> >>> Please check the following setting in SoftDebugger.ini on HOST sid= e, >>>> >>> and change FlowControl to 0 and change Trace to 0x10 >>>> >>> >>>> >>> [Debug Port] >>>> >>> Channel =3D Serial >>>> >>> Port =3D COM1 >>>> >>> FlowControl =3D 0 >>>> >>> BaudRate =3D 115200 >>>> >>> Server =3D >>>> >>> >>>> >>> [Maintenance] >>>> >>> ; Uncomment the below line to turn on tracing >>>> >>> Trace=3D0x10 >>>> >>> >>>> >>> You could start intel UDK debugger tool on HOST side and then load >>>> DebugAgentDxe on target side. If you still cannot connect Windbg, ple= ase >>>> send me udk-debugger-trace.log file under C:\User\xxx\. >>>> >>> >>>> >>> Thanks! >>>> >>> Jeff >>>> >>> >>>> >>> -----Original Message----- >>>> >>> From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behal= f >>>> >>> Of Arka Sharma >>>> >>> Sent: Friday, March 31, 2017 10:45 AM >>>> >>> To: Fan, Jeff >>>> >>> Cc: edk2-devel@lists.01.org >>>> >>> Subject: Re: [edk2] Using Intel UDk debugger >>>> >>> >>>> >>> After changing the putty settings I am getting this message "Send= INIT >>>> break packet and try to connect the HOST (Intel(R) UDK Debugger Tool v= 1.5)" >>>> followed by =C3=BE?Y=C2=BA=C3=BE?Y=C2=BA=C3=BE?Y=C2=BAHOST connection = is failed! Am I missing some other >>>> settings ? >>>> >>> >>>> >>> Regards, >>>> >>> Arka >>>> >>> >>>> >>> On Fri, Mar 31, 2017 at 7:58 AM, Fan, Jeff wr= ote: >>>> >>>> It's better if there is no Serial driver to manage the serial por= t. >>>> >>>> >>>> >>>> DebugAgentDxe built from SourceLevelDebugPkg is consuming >>>> MdeModulePkg\Library\BaseSerialPortLib16550\BaseSerialPortLib16550.inf >>>> to read/write data from serial port. >>>> >>>> >>>> >>>> >>>> SerialPortLib|MdeModulePkg/Library/BaseSerialPortLib16550/BaseSeria >>>> >>>> SerialPortLib|l >>>> >>>> SerialPortLib|P >>>> >>>> SerialPortLib|o >>>> >>>> rtLib16550.inf >>>> >>>> >>>> >>>> It's default Serial port parameters are: BaudRate:115200, Data: = 8 bit, >>>> Parity: none, Stop: 1 bit, Flow control: none Please check your putty = COM >>>> setting. >>>> >>>> >>>> >>>> When DebugAgentDxe is loaded, we expected the following words >>>> could be output from serial port. >>>> >>>> "Send INIT break packet and try to connect the HOST (Intel(R) U= DK >>>> Debugger Tool v1.5)" >>>> >>>> >>>> >>>> Thanks! >>>> >>>> Jeff >>>> >>>> >>>> >>>> -----Original Message----- >>>> >>>> From: Arka Sharma [mailto:arka.sw1988@gmail.com] >>>> >>>> Sent: Friday, March 31, 2017 10:14 AM >>>> >>>> To: Fan, Jeff >>>> >>>> Cc: edk2-devel@lists.01.org >>>> >>>> Subject: Re: [edk2] Using Intel UDk debugger >>>> >>>> >>>> >>>> When I load DebugAgentDxe I get cF=C3=83=C3=97=C3=BF?k=C3=A4=C3= =BF=C3=BF=C3=BF=C3=A3+=C3=BE in putty. Also when >>>> I boot to shell there is not IsaSerialDxe or any other driver managing= the >>>> serial port. I manually located the serial port with "devices". In the= shell when >>>> I load DebugAgentDxe I get the same text as mentioned in Step 8 of sec= tion >>>> 9.11 in UDK_Debugger_Tool_User_Manual_V1.11.pdf. >>>> >>>> And the load status is success. >>>> >>>> >>>> >>>> Regards, >>>> >>>> Arka >>>> >>>> >>>> >>>> On Fri, Mar 31, 2017 at 7:19 AM, Fan, Jeff w= rote: >>>> >>>>> DebugAgentDxe will consume Serial Port to setup debug channel wi= th >>>> HOST. >>>> >>>>> >>>> >>>>> Please shutdown the UDK debug HOST software and use any serial >>>> tool (Like putty). Are there any output when you load DebugAgentDxe in >>>> shell? Could you paste here? >>>> >>>>> >>>> >>>>> You need to make sure the DebugAgentDxe used the correct serial >>>> port parameter on your platform. >>>> >>>>> >>>> >>>>> Thanks! >>>> >>>>> Jeff >>>> >>>>> >>>> >>>>> -----Original Message----- >>>> >>>>> From: Arka Sharma [mailto:arka.sw1988@gmail.com] >>>> >>>>> Sent: Friday, March 31, 2017 9:40 AM >>>> >>>>> To: Kinney, Michael D >>>> >>>>> Cc: Fan, Jeff; edk2-devel@lists.01.org >>>> >>>>> Subject: Re: [edk2] Using Intel UDk debugger >>>> >>>>> >>>> >>>>> Thanks a lot Mike. You are right. I have installed WinDbg 6.11.1= 404. >>>> >>>>> Now the issue I mentioned earlier is not seen. But I am still no= t able to >>>> break into target system. I have loaded the DebugAgentDxe and loading = was >>>> success. But in the shell I can find that still the serial port handle= is not >>>> managed by any driver. >>>> >>>>> >>>> >>>>> Regards, >>>> >>>>> Arka >>>> >>>>> >>>> >>>>> On Thu, Mar 30, 2017 at 9:28 PM, Kinney, Michael D >>>> wrote: >>>> >>>>>> Hi Arka, >>>> >>>>>> >>>> >>>>>> I have seen that error when the wrong version of WinDbg is used= . >>>> >>>>>> >>>> >>>>>> What version of WinDbg did you install? >>>> >>>>>> >>>> >>>>>> Does it match the version listed in the UDK Debugger manual? >>>> >>>>>> >>>> >>>>>> Mike >>>> >>>>>> >>>> >>>>>>> -----Original Message----- >>>> >>>>>>> From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On >>>> >>>>>>> Behalf Of Arka Sharma >>>> >>>>>>> Sent: Thursday, March 30, 2017 2:43 AM >>>> >>>>>>> To: Fan, Jeff >>>> >>>>>>> Cc: edk2-devel@lists.01.org >>>> >>>>>>> Subject: Re: [edk2] Using Intel UDk debugger >>>> >>>>>>> >>>> >>>>>>> I have also verified the null modem connection by booting to >>>> >>>>>>> windows in my target pc, and I am able to break it in WinDbg. = So >>>> >>>>>>> the communication is ok. In the target system shell when I loa= d >>>> >>>>>>> the DebugAgentDxe it is not appeared in the "drivers -b". Also >>>> >>>>>>> in my system the serial port is not managed by any driver init= ially. >>>> >>>>>>> So I located it using "devices" and the issued "load -nc >>>> >>>>>>> DebugAgentDxe.efi". >>>> >>>>>>> >>>> >>>>>>> Regards, >>>> >>>>>>> Arka >>>> >>>>>>> >>>> >>>>>>> On Thu, Mar 30, 2017 at 2:27 PM, Arka Sharma >>>> wrote: >>>> >>>>>>> > Thanks Jeff for your reply. I followed the steps as mentione= d >>>> >>>>>>> > in >>>> >>>>>>> > "9.11 Debugging a standalone module loaded in a UEFI shell".= I >>>> >>>>>>> > have built DebugAgentDxe and loaded it in my target system. = I >>>> >>>>>>> > cross checked in my target system UEFI setup Serial is enabl= ed. >>>> >>>>>>> > In host I have installed >>>> >>>>>>> > WinDbgX64 and UDK debugger. I have configured the debug port >>>> >>>>>>> > COM1, connected the host and target with a null modem cable. >>>> >>>>>>> > Now when I launch SoftDebugger WinDbg starts with an error >>>> >>>>>>> > message "Could not start kernel debugging using >>>> >>>>>>> > exdi:clsid=3D{F56FC1A6-3422-4320-A7F3-41EAEC2A367D} >>>> parameters. >>>> >>>>>>> > If I attempt to reconnect with COM1 it throws "Access denied= ". >>>> >>>>>>> > Do I need to enable something more in target system ? >>>> >>>>>>> > >>>> >>>>>>> > Regards, >>>> >>>>>>> > Arka >>>> >>>>>>> > >>>> >>>>>>> > On Thu, Mar 30, 2017 at 10:55 AM, Fan, Jeff >>>> wrote: >>>> >>>>>>> >> Arka, >>>> >>>>>>> >> >>>> >>>>>>> >> UDK Debugger tool supports your usage model. >>>> >>>>>>> >> >>>> >>>>>>> >> Please see the section "9.11 Debugging a standalone module >>>> >>>>>>> >> loaded in a UEFI >>>> >>>>>>> shell" @ >>>> >>>>>>> >>>> https://firmware.intel.com/sites/default/files/UDK_Debugger_Tool_User_ >>>> Manual_V1.11. >>>> >>>>>>> pdf >>>> >>>>>>> >> >>>> >>>>>>> >> Thanks! >>>> >>>>>>> >> Jeff >>>> >>>>>>> >> -----Original Message----- >>>> >>>>>>> >> From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] O= n >>>> >>>>>>> >> Behalf Of Arka >>>> >>>>>>> Sharma >>>> >>>>>>> >> Sent: Thursday, March 30, 2017 1:15 PM >>>> >>>>>>> >> To: edk2-devel@lists.01.org >>>> >>>>>>> >> Subject: [edk2] Using Intel UDk debugger >>>> >>>>>>> >> >>>> >>>>>>> >> Hi, >>>> >>>>>>> >> >>>> >>>>>>> >> I am sorry if it is not a right place to ask this. I have >>>> >>>>>>> >> installed WinDbg and >>>> >>>>>>> Intel UDK debugger. I want to debug a driver and an applicatio= n >>>> >>>>>>> on an Asrock borad, but going through the UDK debugger user >>>> >>>>>>> manual I realize that SourceLevelDebugPkg has to be included i= n >>>> >>>>>>> target firmware image. Now in this case what option do I have = to >>>> >>>>>>> proceed with the debugging ? I am launching my application fro= m >>>> >>>>>>> shell and in the shell post codes are disabled, the applicatio= n >>>> >>>>>>> code get stuck randomly. So far I was trying to debug with >>>> >>>>>>> AsciiPrints. Is there any way to use DEBUG macro to redirect d= ebug >>>> messages from UEFI driver as well as application to some serial port i= n this >>>> case ? >>>> >>>>>>> >> >>>> >>>>>>> >> Regards, >>>> >>>>>>> >> Arka >>>> >>>>>>> >> _______________________________________________ >>>> >>>>>>> >> edk2-devel mailing list >>>> >>>>>>> >> edk2-devel@lists.01.org >>>> >>>>>>> >> https://lists.01.org/mailman/listinfo/edk2-devel >>>> >>>>>>> _______________________________________________ >>>> >>>>>>> edk2-devel mailing list >>>> >>>>>>> edk2-devel@lists.01.org >>>> >>>>>>> https://lists.01.org/mailman/listinfo/edk2-devel >>>> >>> _______________________________________________ >>>> >>> edk2-devel mailing list >>>> >>> edk2-devel@lists.01.org >>>> >>> https://lists.01.org/mailman/listinfo/edk2-devel >>>> > _______________________________________________ >>>> > edk2-devel mailing list >>>> > edk2-devel@lists.01.org >>>> > https://lists.01.org/mailman/listinfo/edk2-devel >>>> _______________________________________________ >>>> edk2-devel mailing list >>>> edk2-devel@lists.01.org >>>> https://lists.01.org/mailman/listinfo/edk2-devel