Re: [reSIProcate] Datatype Misalignment exception in resiprocate.lib on a PocketPC device
If the dynamic cast was the problem, we could remove all of them. It would
not be too hard and I have been meaning to do that for a long time.
On 12/2/04 2:44 AM, "Jason Fischl" <jason@xxxxxxxxxxxxxx> wrote:
> 唐 荣兴 wrote:
>> First of all , thank you for your replies very much ;I feel the wrong
>> reason is perhaps dynamic_cast,But I do not know how to get rid of this
>> mistake.
>>
>
> I did some poking around. It is possible that WinCE does not support
> dynamic_cast. I think that it is supported in WinCE.NET though. Which
> compiler are you using?
>
>
>> I debug the result roughly as follows:
>>
>> -----------------------------------------------------------------------------
>> -------
>>
>>
>> Datatype MisAlignment Debug
>> -----------------------------------------------------------------------------
>> -------
>>
>>
>> request->header(h_To) = to;
>> -->defineHeader(To);
>> // SipMessage.cxx
>> // resip::SipMessage::header(const resip::To_Header & {...},
>> // resip::HeaderFieldValueList * 0x0164fa4c)
>> line 1277 + 108 bytes
>> -->defineHeader(To, "To", NameAddr);
>> // Headers.cxx
>>
>> -->HeaderFieldValueList* SipMessage::ensureHeaders(Headers::Type type,
>> bool single)
>>
>> -->ParserContainerBase* getParserContainer() const {return
>> mParserContainer;}
>>
>> -->defineHeader(To, "To", NameAddr);
>>
>> -->ParserContainer(HeaderFieldValueList* hfvs,
>>
>> Headers::Type type = Headers::UNKNOWN)
>> : ParserContainerBase(type)
>>
>> -->void setParserContainer(ParserContainerBase* parser)
>> {mParserContainer = parser;}
>> -->void setParserContainer(ParserContainerBase* parser)
>> {mParserContainer = parser;}
>>
>> -->c:\mckendric\private\winceos\coreos\core\corelibc\crtw32\rtti.cpp
>> __RTDynamicCast:
>> __RTDynamicCast(void *, long 1083744,
>> void * 0x00000000, void * 0x000c901c class
>> resip::ParserContainerBase `RTTI Type Descriptor', int
>> 0) line 121 + 20 bytes
>>
>>
>>
>> ---
>> c:\mckendric\private\winceos\coreos\core\corelibc\crtw32\rtti\rtti.cpp
>> ------------
>> __RTDynamicCast:
>> 2A0AE6B0 mov r12, sp
>> 2A0AE6B4 stmdb sp!, {r0 - r3}
>> 2A0AE6B8 stmdb sp!, {r4 - r8, r11, r12, lr}
>> 2A0AE6BC add r11, sp, #0x20
>> 2A0AE6C0 sub sp, sp, #0x3C
>> $L16273:
>> 2A0AE6C4 mov r5, r0
>> 2A0AE6C8 mov r4, r1
>> 2A0AE6CC mov r8, r2
>> 2A0AE6D0 mov r6, r3
>> 2A0AE6D4 cmp r5, #0
>> 2A0AE6D8 moveq r4, #0
>> 2A0AE6DC moveq r0, r4
>> 2A0AE6E0 ldmeqdb r11, {r4 - r8, r11, sp, pc}
>> $L16253:
>> 2A0AE6E4 mov r0, r5
>> 2A0AE6E8 bl |FindCompleteObject (2a0ae898)|
>>
>>
>>
>> Thank you very much;Best regards to you!
>>
>> Steven Tang
>>
>> _________________________________________________________________
>> 与联机的朋友进行交流,请使用 MSN Messenger: http://messenger.msn.com/cn
>
> _______________________________________________
> resiprocate-devel mailing list
> resiprocate-devel@xxxxxxxxxxxxxxxxxxx
> https://list.sipfoundry.org/mailman/listinfo/resiprocate-devel