[webkit-dev] VS2005 debugger complains that webkit.pdb does not match with webkit.dll

by 张雷on 2009-06-20T02:45:02+00:00
Hey, dear friends. I succeeded building WebKit from within VS2005 IDE
with your helps. But I encountered another problem: when I was debugging
with webkit.dll, no symbols for that dll was loaded and the debugger
complained that no proper PDB found for webkit.dll, though webkit.pdb
was placed exactly in the same folder with webkit.dll. I tried manually
specifying the webkit.pdb file for the webkt.dll. But the compiler
refused the pdb file for mismatch.
My platform and compliler tools are:
WinXP with sp3
Visual Studio 2005 Professional with sp1
I followed exactyly what the building instructions says and set
WEBKITOUTPUTDIR and WEBKITLIBRARIESDIR and did no change to any build
script.
Did you ever enconter this problem before and how did you fix it? Many
thanks for any help :)
_______________________________________________
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev






Hey, Brent! I figured it out! That's because I didn't give the manifest
tool proper arguments. It should be someting like:

/nologo /tlb:"D:\WebKit-r41121\Output\lib\WebKit.tlb" /dll:"WebKit"
/out:"..\Output\obj\MiniBrowser\Debug\MiniBrowser_debug.exe.embed.manifest"
/notify_update

It can be set from within IDE: Project Property Pages ->
Configuration Properties -> Manifest Tool -> Isolated COM
Set the Type library File to $(WebKitOutputDir)\lib\WebKit.tlb and
Component File Name to WebKit$(WebKitDLLConfigSuffix). According to
MSDN, these can make an exe use a specified COM server.

Then recompile. That's OK!


-------- 原始信息 --------
主题: Re: [webkit-dev] VS2005 debugger complains that webkit.pdb does not
match with webkit.dll
发件人: 张雷 <zhang.lei@kortide.com.cn>
收件人: Brent Fulgham <bfulgham@gmail.com>
抄送: WebKit Development <webkit-dev@lists.webkit.org>
日期: 2009-6-20 13:03
Thanks
Brent. But I searched my webkit source for WebKitCreateInstance and
found nothing. My source is r41121 Nightly Build. Is
WebKitCreateInstance unavailable in r41121?


-------- 原始信息 --------

主题: Re: [webkit-dev] VS2005 debugger complains that webkit.pdb does not
match with webkit.dll

发件人: Brent Fulgham <bfulgham@gmail.com>

收件人: 张雷 <zhang.lei@kortide.com.cn>

抄送: WebKit Development <webkit-dev@lists.webkit.org>

日期: 2009-6-20 12:18

Hi,


I would suggest that you avoid using the CoCreateInstance mechanism for
instantiation of the WebKit types, and instead use the new



1.  Include the header "<WebKit/WebKitCOMAPI.h>"

2.  Link against the WebKitGUID.lib and WebKit.lib

3.  Create your object like so:


HRESULT hr = WebKitCreateInstance(CLSID_WebView, 0, IID_IWebView,
(void**)&gWebView);


The advantages are:


1.  No need to manipulate "Internal COM" or other manifest stuff.

2.  No more errors that COM can't find your WebKit objects.

3.  Your application will not get confused about Safari's DLL's and
your own DLL's (assuming you put your WebKit.dll in the same path with
your application.)


Good luck!


-Brent




On Jun 19, 2009, at 8:47 PM, 张雷 wrote:


Sorry, I didn't notice that the webkit.dll
was not the one I built but the one under Safari install dir. What's
more, I missed to make it clear that I writes a minibrowser of my own,
not the WinLauncher demo. And I find that


CoCreateInstance(CLSID_WebView, 0, CLSCTX_ALL, IID_IWebView,
(void**)&m_webView);


always locates the webkit.dll under Safary install dir rather than the
one I compiled no matter what path env I set. If I rename the one under
Safari dir, then CoCreateInstance(CLSID_WebView, ...) fails!


Do I need to register my webkit.dll as a COM server every time I launch
my minibrowser for debug? However, I also want my Safari working
without effects. So, any suggestions?


-------- 原始信息 --------

主题: [webkit-dev] VS2005 debugger complains that webkit.pdb does not  
match with webkit.dll

发件人: 张雷 <zhang.lei@kortide.com.cn>

收件人: WebKit Development <webkit-dev@lists.webkit.org>

日期: 2009-6-20 10:45

Hey, dear friends. I succeeded building
WebKit from within VS2005 IDE with your helps. But I encountered
another problem: when I was debugging with webkit.dll, no symbols for
that dll was loaded and the debugger complained that no proper PDB
found for webkit.dll, though webkit.pdb was placed exactly in the same
folder with webkit.dll. I tried manually specifying the webkit.pdb file
for the webkt.dll. But the compiler refused the pdb file for mismatch.


My platform and compliler tools are:

WinXP with sp3

Visual Studio 2005 Professional with sp1


I followed exactyly what the building instructions says and set
WEBKITOUTPUTDIR and WEBKITLIBRARIESDIR and did no change to any build
script.


Did you ever enconter this problem before and how did you fix it? Many
thanks for any help :)




_______________________________________________

webkit-dev mailing list

webkit-dev@lists.webkit.org

http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev




_______________________________________________

webkit-dev mailing list

webkit-dev@lists.webkit.org

http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev






_______________________________________________

webkit-dev mailing list

webkit-dev@lists.webkit.org

http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev






--Apple-Mail-208-881336116
Content-Type: text/plain;
charset=UTF-8;
format=flowed;
delsp=yes
Content-Transfer-Encoding: quoted-printable
Great! I'm glad you've got it figured out!
On Jun 19, 2009, at 10:42 PM, =E5=BC=A0=E9=9B=B7 wrote:
> Hey, Brent! I figured it out! That's because I didn't give the =20
> manifest tool proper arguments. It should be someting like:
>
> /nologo /tlb:"D:\WebKit-r41121\Output\lib\WebKit.tlb" /dll:"WebKit" /=20=
> out:"..\Output\obj\MiniBrowser\Debug=20
> \MiniBrowser_debug.exe.embed.manifest" /notify_update
>
> It can be set from within IDE: Project Property Pages -> =20
> Configuration Properties -> Manifest Tool -> Isolated COM
> Set the Type library File to $(WebKitOutputDir)\lib\WebKit.tlb and =20
> Component File Name to WebKit$(WebKitDLLConfigSuffix). According to =20=
> MSDN, these can make an exe use a specified COM server.
>
> Then recompile. That's OK!
>
>
> -------- =E5=8E=9F=E5=A7=8B=E4=BF=A1=E6=81=AF --------
> =E4=B8=BB=E9=A2=98: Re: [webkit-dev] VS2005 debugger complains that =
webkit.pdb =20
> does not match with webkit.dll
> =E5=8F=91=E4=BB=B6=E4=BA=BA: =E5=BC=A0=E9=9B=B7 =

> =E6=94=B6=E4=BB=B6=E4=BA=BA: Brent Fulgham
> =E6=8A=84=E9=80=81: WebKit Development
> =E6=97=A5=E6=9C=9F: 2009-6-20 13:03
>> Thanks Brent. But I searched my webkit source for =20
>> WebKitCreateInstance and found nothing. My source is r41121 Nightly =20=
>> Build. Is WebKitCreateInstance unavailable in r41121?
>>
>> -------- =E5=8E=9F=E5=A7=8B=E4=BF=A1=E6=81=AF --------
>> =E4=B8=BB=E9=A2=98: Re: [webkit-dev] VS2005 debugger complains that =
webkit.pdb =20
>> does not match with webkit.dll
>> =E5=8F=91=E4=BB=B6=E4=BA=BA: Brent Fulgham
>> =E6=94=B6=E4=BB=B6=E4=BA=BA: =E5=BC=A0=E9=9B=B7 =

>> =E6=8A=84=E9=80=81: WebKit Development
>> =E6=97=A5=E6=9C=9F: 2009-6-20 12:18
>>> Hi,
>>>
>>> I would suggest that you avoid using the CoCreateInstance =20
>>> mechanism for instantiation of the WebKit types, and instead use =20
>>> the new
>>>
>>>
>>> 1. Include the header ""
>>> 2. Link against the WebKitGUID.lib and WebKit.lib
>>> 3. Create your object like so:
>>>
>>> HRESULT hr =3D WebKitCreateInstance(CLSID_WebView, 0, IID_IWebView, =20=
>>> (void**)&gWebView);
>>>
>>> The advantages are:
>>>
>>> 1. No need to manipulate "Internal COM" or other manifest stuff.
>>> 2. No more errors that COM can't find your WebKit objects.
>>> 3. Your application will not get confused about Safari's DLL's =20
>>> and your own DLL's (assuming you put your WebKit.dll in the same =20
>>> path with your application.)
>>>
>>> Good luck!
>>>
>>> -Brent
>>>
>>>
>>>
>>> On Jun 19, 2009, at 8:47 PM, =E5=BC=A0=E9=9B=B7 wrote:
>>>
>>>> Sorry, I didn't notice that the webkit.dll was not the one I =20
>>>> built but the one under Safari install dir. What's more, I missed =20=
>>>> to make it clear that I writes a minibrowser of my own, not the =20
>>>> WinLauncher demo. And I find that
>>>>
>>>> CoCreateInstance(CLSID_WebView, 0, CLSCTX_ALL, IID_IWebView, =20
>>>> (void**)&m_webView);
>>>>
>>>> always locates the webkit.dll under Safary install dir rather =20
>>>> than the one I compiled no matter what path env I set. If I =20
>>>> rename the one under Safari dir, then =20
>>>> CoCreateInstance(CLSID_WebView, ...) fails!
>>>>
>>>> Do I need to register my webkit.dll as a COM server every time I =20=
>>>> launch my minibrowser for debug? However, I also want my Safari =20
>>>> working without effects. So, any suggestions?
>>>>
>>>> -------- =E5=8E=9F=E5=A7=8B=E4=BF=A1=E6=81=AF --------
>>>> =E4=B8=BB=E9=A2=98: [webkit-dev] VS2005 debugger complains that =
webkit.pdb =20
>>>> does not match with webkit.dll
>>>> =E5=8F=91=E4=BB=B6=E4=BA=BA: =E5=BC=A0=E9=9B=B7 =

>>>> =E6=94=B6=E4=BB=B6=E4=BA=BA: WebKit Development =

>>>> =E6=97=A5=E6=9C=9F: 2009-6-20 10:45
>>>>> Hey, dear friends. I succeeded building WebKit from within =20
>>>>> VS2005 IDE with your helps. But I encountered another problem: =20
>>>>> when I was debugging with webkit.dll, no symbols for that dll =20
>>>>> was loaded and the debugger complained that no proper PDB found =20=
>>>>> for webkit.dll, though webkit.pdb was placed exactly in the same =20=
>>>>> folder with webkit.dll. I tried manually specifying the =20
>>>>> webkit.pdb file for the webkt.dll. But the compiler refused the =20=
>>>>> pdb file for mismatch.
>>>>>
>>>>> My platform and compliler tools are:
>>>>> WinXP with sp3
>>>>> Visual Studio 2005 Professional with sp1
>>>>>
>>>>> I followed exactyly what the building instructions says and set =20=
>>>>> WEBKITOUTPUTDIR and WEBKITLIBRARIESDIR and did no change to any =20=
>>>>> build script.
>>>>>
>>>>> Did you ever enconter this problem before and how did you fix =20
>>>>> it? Many thanks for any help :)
>>>>>
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> webkit-dev mailing list
>>>>> webkit-dev@lists.webkit.org
>>>>> http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev
>>>>>
>>>>
>>>> _______________________________________________
>>>> webkit-dev mailing list
>>>> webkit-dev@lists.webkit.org
>>>> http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev
>>>
>>>
>>
>> _______________________________________________
>> webkit-dev mailing list
>> webkit-dev@lists.webkit.org
>> http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev
>
--Apple-Mail-208-881336116
Content-Type: text/html;
charset=UTF-8
Content-Transfer-Encoding: quoted-printable
Great!  I'm glad you've =
got it figured out!On Jun 19, 2009, at =
10:42 PM, =E5=BC=A0=E9=9B=B7 wrote: Hey, Brent! I figured it out! =
That's because I didn't give the manifest tool proper arguments. It =
should be someting like: /nologo =
/tlb:"D:\WebKit-r41121\Output\lib\WebKit.tlb" =
/dll:"WebKit" =
/out:"..\Output\obj\MiniBrowser\Debug\MiniBrowser_debug.exe.embed.manifest=
" /notify_update It can be set from within IDE: Project =
Property Pages -> Configuration Properties -> Manifest Tool -> =
Isolated COM Set the Type library File to =
$(WebKitOutputDir)\lib\WebKit.tlb and Component File Name to =
WebKit$(WebKitDLLConfigSuffix). According to MSDN, these can make an exe =
use a specified COM server. Then recompile. That's OK! =
-------- =E5=8E=9F=E5=A7=8B=E4=BF=A1=E6=81=AF -------- =E4=B8=BB=E9=
=A2=98: Re: [webkit-dev] VS2005 debugger complains that webkit.pdb does =
not match with webkit.dll =E5=8F=91=E4=BB=B6=E4=BA=BA: =E5=BC=A0=E9=9B=
=B7 <zhang.lei@kortide.com.cn> =E6=94=B6=E4=BB=B6=E4=BA=BA: Brent Fulgham <bfulgham@gmail.com> =
=E6=8A=84=E9=80=81: WebKit Development <webkit-dev@lists.webkit.or=
g> =E6=97=A5=E6=9C=9F: 2009-6-20 13:03 Thanks Brent. =
But I searched my webkit source for WebKitCreateInstance and found =
nothing. My source is r41121 Nightly Build. Is WebKitCreateInstance =
unavailable in r41121? -------- =E5=8E=9F=E5=A7=8B=E4=BF=A1=E6=
=81=AF -------- =E4=B8=BB=E9=A2=98: Re: [webkit-dev] VS2005 =
debugger complains that webkit.pdb does not match with webkit.dll =
=E5=8F=91=E4=BB=B6=E4=BA=BA: Brent Fulgham <bfulgham@gmail.com> =
=E6=94=B6=E4=BB=B6=E4=BA=BA: =E5=BC=A0=E9=9B=B7 <zhang.lei@kortide.com.cn> =E6=8A=84=E9=80=81: WebKit Development <webkit-dev@lists.webkit.or=
g> =E6=97=A5=E6=9C=9F: 2009-6-20 12:18 Hi, I would suggest that you avoid using =
the CoCreateInstance mechanism for instantiation of the WebKit types, =
and instead use the new 1.  Include the =
header "<WebKit/WebKitCOMAPI.h>" 2.  Link against the =
WebKitGUID.lib and WebKit.lib 3.  Create your object like =
so: HRESULT hr =3D WebKitCreateInstance(CLSID_WebView, =
0, IID_IWebView, (void**)&gWebView); The advantages =
are: 1.  No need to manipulate "Internal COM" or =
other manifest stuff. 2.  No more errors that COM can't =
find your WebKit objects. 3.  Your application will not get =
confused about Safari's DLL's and your own DLL's (assuming you put your =
WebKit.dll in the same path with your application.) Good =
luck! -Brent On Jun 19, =
2009, at 8:47 PM, =E5=BC=A0=E9=9B=B7 wrote: =
Sorry, I didn't notice that the webkit.dll was =
not the one I built but the one under Safari install dir. What's more, I =
missed to make it clear that I writes a minibrowser of my own, not the =
WinLauncher demo. And I find that =
CoCreateInstance(CLSID_WebView, 0, CLSCTX_ALL, IID_IWebView, =
(void**)&m_webView); always locates the =
webkit.dll under Safary install dir rather than the one I compiled no =
matter what path env I set. If I rename the one under Safari dir, then =
CoCreateInstance(CLSID_WebView, ...) fails! Do I =
need to register my webkit.dll as a COM server every time I launch my =
minibrowser for debug? However, I also want my Safari working without =
effects. So, any suggestions? -------- =E5=8E=9F=E5=A7=
=8B=E4=BF=A1=E6=81=AF -------- =E4=B8=BB=E9=A2=98: =
[webkit-dev] VS2005 debugger complains that webkit.pdb does =
not   match with webkit.dll =E5=8F=91=E4=BB=B6=E4=BA=BA=
: =E5=BC=A0=E9=9B=B7 <zhang.lei@kortide.com.cn> =E6=94=B6=E4=BB=B6=E4=BA=BA: WebKit Development <webkit-dev@lists.webkit.or=
g> =E6=97=A5=E6=9C=9F: 2009-6-20 10:45 =
Hey, dear friends. I succeeded building WebKit =
from within VS2005 IDE with your helps. But I encountered another =
problem: when I was debugging with webkit.dll, no symbols for that dll =
was loaded and the debugger complained that no proper PDB found for =
webkit.dll, though webkit.pdb was placed exactly in the same folder with =
webkit.dll. I tried manually specifying the webkit.pdb file for the =
webkt.dll. But the compiler refused the pdb file for mismatch. =
My platform and compliler tools are: WinXP =
with sp3 Visual Studio 2005 Professional with sp1 =
I followed exactyly what the building instructions says =
and set WEBKITOUTPUTDIR and WEBKITLIBRARIESDIR and did no change to any =
build script. Did you ever enconter this problem =
before and how did you fix it? Many thanks for any help :) =
=
_______________________________________________ webkit-dev =
mailing list webkit-dev@lists.webkit.org http://li=
sts.webkit.org/mailman/listinfo.cgi/webkit-dev =
=
_______________________________________________ webkit-dev =
mailing list webkit-dev@lists.webkit.org http://li=
sts.webkit.org/mailman/listinfo.cgi/webkit-dev =
=
_______________________________________________ webkit-dev mailing =
list webkit-dev@lists.webkit.org http://li=
sts.webkit.org/mailman/listinfo.cgi/webkit-dev =
=
--Apple-Mail-208-881336116--