Michael Stahl ha scritto:
> On 18/06/2010 12:08, Davide Dozza wrote:
>> Michael Stahl ha scritto:
>>> On 18/06/2010 11:50, Davide Dozza wrote:
>>>> I did it.
>>> ok,
>>>
>>>> The problem happens on tstring.cxx
>>>>
>>>> xub_StrLen ImplStringLen( const sal_Char* pStr )
>>>> {
>>>> const sal_Char* pTempStr = pStr;
>>>> while( *pTempStr )
>>>> ++pTempStr;
>>>> return (xub_StrLen)(pTempStr-pStr);
>>>> }
>>>>
>>>> *pTempStr is a null pointer.
>>>>
>>>> Davide
>>> well, yes, that's where it crashes.
>>> but the problem is that somebody is calling the Len() function on a null
>>> pointer.
>>> you need to post the stack backtrace to find out where the cause of the
>>> problem is.
>>> to get the backtrace you need to attach the debugger somehow.
>>> (i don't usually work on windows, so i can't remember how that is done...)
>>>
>> I'm not an expert too but is it the call stack?
>> It's enough if I just cut and paste info in it?
>>
>> Davide
>
> did you attach something to your mail?
> because i'm wondering what "it" is, and the most likely explanation is
> that "it" is an attachment that the silly mailing list software has
> removed from your mail.
>
> please paste "it" into your mail instead :)
>
This is the call stack entries.
tlmi.dll!ImplStringLen(const char * pStr=0x00000000) Line 81 + 0x3
bytes C++
tlmi.dll!String::String(const char * pByteStr=0x00000000, unsigned short
eTextEncoding=11, unsigned long nCvtFlags=819) Line 95 + 0x12 bytes C++
transex3.exe!Export::GetTempFile() Line 707 + 0x1e bytes C++
transex3.exe!Export::GetNativeFile(ByteString sSource={...}) Line 623
+ 0x9 bytes C++
transex3.exe!GetNextFile() Line 251 + 0x33 bytes C++
transex3.exe!main(int argc=11, char * * argv=0x00964528) Line 289 +
0x5 bytes C
transex3.exe!__tmainCRTStartup() Line 582 + 0x17 bytes C
kernel32.dll!7c817077()
[Frames below may be incorrect and/or missing, no symbols loaded for
kernel32.dll]
Therefore by double clicking starting on top of call stack I have:
tstring.cxx
- pTempStr bad pointer
structvt.cxx
- rtl_string2UString( (rtl_uString **)(&mpData),
pByteStr, ImplStringLen( pByteStr ),
eTextEncoding, nCvtFlags );
export2.cxx
- String sTempDir( Export::GetEnv( "TEMP" ), RTL_TEXTENCODING_ASCII_US );
export2.cxx
- DirEntry aTemp( GetTempFile());
export.cxx
srclex.l
- if ( !pFile )
I don't know if it's clear enough.
Anyway what I find strange it such line code in export2.cxx:
String sTempDir( Export::GetEnv( "TEMP" ), RTL_TEXTENCODING_ASCII_US
The TEMP variable is involved.
I'll try to change it to C:/Temp instead of Documents and
Settings/utente1/Temp
Davide
signature.asc
Description: OpenPGP digital signature
