jasonwhite/ducible

Add support for static libs.

lp35 opened this issue · 6 comments

lp35 commented

Hi Jason,

First, I would like to warmly thanks you for this program. We added ducible to our build pipeline and it is a huge gain of time while debugging.

I would like to know if it is possible to make ducible work for .lib file? AFAIK it is generating a pdb as well, that has the same limitations as the .dll one.

Thank you for your time!

I'm glad you're finding this tool useful! :) If you can talk about it, I'm curious how this tool is helping with debugging?

This is something I definitely want to add support for (in addition to obj files and import libraries). Compared to the PDB format, these formats are pretty simple.

Unfortunately, I don't have much time to implement this right now nor do I have a strong need for it right now. The good news is that I will have a strong need for import library support in the near future and will probably be adding both static library and import library support (I believe the same file format is used for both).

lp35 commented

Your program solve 3 issues:

  • When we provide a debug version of our program internally, we store the git hash of the build into the program. When one of my colleague has a bug, I am using remote debugging on its computer to get the breakpoint. But before starting the remote debugging, I need to compile the exact same version of the binary on my machine. Without ducible, I need to compile and to send him the new binary, otherwise visual studio debugger tell me that the pdb does not match with the binary. With ducible, I just need to align my repo with my colleague hash, start a compile, start debugging.

  • We are using a signing tool to protect our binaries. This tool is detecting if the binary changed, and regen the binary accordingly. The use of ducible prevents this tool to run again on the same binary.

  • We have some binary programs that we store on a git repository. (yes I know, that's really bad but we don't have the choice currently). We have a top cmake list that is building all the binaries (~10) everytime a line of code in the repo is changed. Without ducible, the md5 of all of the generated binaries are changing, making git think that the code changed, while only the code of 1 binary changed.

Do you have any ETA on this? Maybe I can contribute, I didn't jumped into your code but it does not seems that's big.

BR

Very interesting! Thanks for the insight. Those are definitely some of the reasons why I wrote the tool.

I'm guessing I'll have some time to implement this in January 2019 or so. I'll notify this thread if I start working on it before then. I will happily take pull requests though. The code should be fairly easy to follow and modify.

I haven't touched this code in a while, so if you find any build problems feel free to send pull requests fixing those too. :)

lp35 commented

Hi, any news on this? Thanks!

lp35 commented

Bump! :)

Unfortunately, I don't have time to work on this issue anymore. 😞I also no longer use Windows day-to-day, so I don't have a pressing need for this.

I will happily take any pull requests, though!