I came back from the DDC excited to read about what binplace could do for me
in collecting files for making releases. I also have read the
documentation twice, and I’ve concluded that what it can do for me is
confuse me.
A *clear* (and simple) example of binplace usage integrated with one of the
samples would be real useful. Preferably a sample that demonstrates enough
of the features of binplace to build on (placing binaries, ‘other files’
(INF), stripping/placing PDBs, and maybe even placing TMFs, etc.).
The documentation is not very ‘beginner friendly’.
Moreover, it is frustrating to try and reverse engineer how it is integrated
with BUILD/MAKEFILE.NEW and what/how NO_BINPLACE/BINPLACE_XXX macros are
intended for.
Dave Cattley
Consulting Engineer
Systems Software Development
A good buddy of mine was the binplace maintainer for quite a while. It seems to me that every time I needed to do something slightly unusual in the build, he would say “binplace can do that!” and show me one of the six zillion switches.
It’s a cool utility, and one that I advocated including in the WDK for quite a while. Figuring out how to use it CAN be incredibly difficult, however. I never really did understand it much… I would either ask my buddy, or just “follow suit” with how it was already setup to be used.
So… yes. A real example would be most helpful. This should be in the WDK docs. But at the very least we should probably write something for The NT Insider.
Peter
OSR
xxxxx@osr.com wrote:
But at the very least we should probably write something for The NT Insider.
Yes. You, your buddy, and hector. I’m looking forward to the next issue! 
Here’s another pleasure to read (PDBCOPY): http://msdn.microsoft.com/en-us/library/cc501190.aspx
In this case, I think I understand what it does, in addition to stripping private symbols, of course - it also allows you to strip
public symbols. Perhaps misuse of this is what’s causing so many windbg extension commands to fail due to lack of type information.
I have no idea (probably not). What I do no understand about this program - and I have to be missing something here - is why
anyone would use it, other than MSFT, perhaps, at least under the scenario as described in that link - remove all public symbols
except for two that you don’t think matter anyway, to facilitate ‘OCA’ feedback. I guess what it’s saying is that if you do this,
it will potentially reduce the set of addresses that MSFT will give back to you to debug, even though I guess you already know what
the problem is if you’re willing to say that any function is not part of a problem that you’ve never seen, and mark the function as
‘inert’ for OCA purposes.
In my opinion, one of the fundamental issue with all these tools - and really anything that involves symbols - is that they are all
designed around this ‘public v. private’ distinction, which I don’t imagine very many people outside of MSFT use. I would assume
that for the vast majority of us, it’s either all symbols (not many of us) or no symbols when we ship something, which when coupled
with what appears to be pretty good evidence that many of the tools that we have to use are not used internally - at least ones with
the same feature set, under the same conditions (like having only public symbols) - makes issues like lack of type information
breaking a windbg extension all the more irritating.
mm
xxxxx@osr.com wrote:
A good buddy of mine was the binplace maintainer for quite a while. It seems to me that every time I needed to do something slightly unusual in the build, he would say “binplace can do that!” and show me one of the six zillion switches.
It’s a cool utility, and one that I advocated including in the WDK for quite a while. Figuring out how to use it CAN be incredibly difficult, however. I never really did understand it much… I would either ask my buddy, or just “follow suit” with how it was already setup to be used.
So… yes. A real example would be most helpful. This should be in the WDK docs. But at the very least we should probably write something for The NT Insider.
Peter
OSR
I think that this is due to binplace’s likely heritage as an internal tool to carve separate distributions out for the public symbol server and internal use - an internal tool that someone thought might be useful outside of MS.
Such things are not always the best documented.
-----Original Message-----
From: David R. Cattley
Sent: Wednesday, October 15, 2008 14:48
To: Windows System Software Devs Interest List
Subject: [ntdev] BINPLACE (Clear Symbol location field in binary built by WDK)
I came back from the DDC excited to read about what binplace could do for me
in collecting files for making releases. I also have read the
documentation twice, and I’ve concluded that what it can do for me is
confuse me.
A clear (and simple) example of binplace usage integrated with one of the
samples would be real useful. Preferably a sample that demonstrates enough
of the features of binplace to build on (placing binaries, ‘other files’
(INF), stripping/placing PDBs, and maybe even placing TMFs, etc.).
The documentation is not very ‘beginner friendly’.
Moreover, it is frustrating to try and reverse engineer how it is integrated
with BUILD/MAKEFILE.NEW and what/how NO_BINPLACE/BINPLACE_XXX macros are
intended for.
Dave Cattley
Consulting Engineer
Systems Software Development
—
NTDEV is sponsored by OSR
For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars
To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer
At the DDC we have demonstrated how to binplace various files (binaries, infs, coinstallers, etc.) in a common folder by using 2 new macros in your sources file. I am going to work with the WDK Doc team to document this capability as well as provide some samples of the usage.
Please feel free to forward your questions about WDK to xxxxx@microsoft.com
Best regards,
Tanya
wdkteam at microsoft.com. I really meant it 
I have been able to get binplace place all kinds of files (INF tmf vbs etc) and?strip symbols off?for years w/o using any?DDK marcos because DDK doc said “don’t use them” at the time. Glad to hear that we can use it now so I don’t have to keep?reinventing the wheel.
?
I would be very interested in knowing how to invoke source indexing from binplace. I think it can be done but I don’t have much luck on it. Currently I do source indexing in my build batch?in a separate step before binplacing and symstoring.
?
Thanks,
Calvin
?
Calvin Guan
Broadcom Corp.
Connecting Everything(r)
----- Original Message ----
From: “xxxxx@microsoft.com”
To: Windows System Software Devs Interest List
Sent: Wednesday, October 15, 2008 8:37:15 PM
Subject: RE:[ntdev] BINPLACE (Clear Symbol location field in binary built by WDK)
At the DDC we have demonstrated how to binplace various files (binaries, infs, coinstallers, etc.) in a common folder by using 2 new macros in your sources file. I am going to work with the WDK Doc team to document this capability as well as provide some samples of the usage.
Please feel free to forward your questions about WDK to xxxxx@microsoft.com
Best regards,
Tanya
—
NTDEV is sponsored by OSR
For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars
To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer
__________________________________________________________________
Looking for the perfect gift? Give the gift of Flickr!
http://www.flickr.com/gift/
Hi Guan,
Binplace cannot be used for a source indexing. There were and old binplace that mentioned something about it, but the option which was removed.
Source indexing is done by postbuild scripts. These scripts do ship in the Windows Debugger package and are documented there.
Hope this helps,
Tanya
Questions about WDK? Please send e-mail to:
xxxxx@microsoft.com (wdkteam at microsoft.com)
> There were and old binplace that mentioned something about it, but the
option which was removed.
ahhhh, no wonder… Thanks anyway!
–
Calvin Guan
Broadcom Corp.
Connecting Everything(r)
Be smarter than spam. See how smart SpamGuard is at giving junk email the boot with the All-new Yahoo! Mail. Click on Options in Mail and switch to New Mail today or register for free at http://mail.yahoo.ca