debugging parcel.cpp file

32 views
Skip to first unread message

dhananjay

unread,
Sep 28, 2009, 2:30:59 AM9/28/09
to android-porting
Hi All,
i'm trying to port android on my big endian platform , and
m getting issues in IPC communication bider . object written by one
procees coudnt be read by another process it is coming null at the
other side , but to debug this problem if i put print in parcel.cpp
whole system
is crashing , so i cant put print in binder or parcel file. does
anybody know how to get info logs from threse two file.???????
also the data written in parcel follows host system' s endian order ,
as i compiled my source code on x86 system ,where Byte order is
little endian so anybody having any idea where to specify correct byte
order in order to have IPC running on my big endian system.

Regards,
Dhananjay

Dianne Hackborn

unread,
Sep 28, 2009, 1:37:21 PM9/28/09
to android...@googlegroups.com
Parcel I am pretty sure already has a bunch of log lines in it that you can turn on.  If you need more, add them.  Of course the first thing you want to do is get the stack crawl where it is crashing to start focusing your effort.
--
Dianne Hackborn
Android framework engineer
hac...@android.com

Note: please don't send private questions to me, as I don't have time to provide private support, and so won't reply to such e-mails.  All such questions should be posted on public forums, where I and others can see and answer them.

Dhananjay Joshi

unread,
Sep 29, 2009, 7:27:51 AM9/29/09
to android...@googlegroups.com



Hi Dianne 
                thanks for replying.....
yeah .it was my mistake ..prints are coming from Parcel.cpp , further debugging yields that
in ViewRoot.java file request for window service is resulting in openSession Object  ,which is
further having IPC commn and after readStrongBinder() in IWindowManager.java(generated file) openSession is returning NULL.so my point is from the client  side i have tracked writeStrongBinder() in switch case which is not NULL only the reply is coming NULL,
and this is happening only for windoesession not  for InputMethodManager which i tracked from logs , requesting the  IPC service and getting the one. and for remoteobject .for localobjecct IPC seems to be working fine.so i want to track code from server side which is actually writting in to kernel driver , so that i can get insight of what is happening from read and write from kernel driver which file i should look?
 or is there any other way to track this? please reply....
 
Regards,
DJ
 

 

Dianne Hackborn

unread,
Sep 29, 2009, 10:21:29 PM9/29/09
to android...@googlegroups.com
All of the raw reading and writing IPC code is in Parcel.cpp and IPCThreadState.cpp, as well as the kernel driver.  Most interfaces are code generated from the aidl file.  The window manager is WindowManagerService.java.
Reply all
Reply to author
Forward
0 new messages