Skip to content
This repository has been archived by the owner on Oct 6, 2023. It is now read-only.

Add support for static libs. #16

Open
lp35 opened this issue Nov 27, 2018 · 6 comments
Open

Add support for static libs. #16

lp35 opened this issue Nov 27, 2018 · 6 comments

Comments

@lp35
Copy link

lp35 commented Nov 27, 2018

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!

@jasonwhite
Copy link
Owner

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
Copy link
Author

lp35 commented Nov 30, 2018

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

@jasonwhite
Copy link
Owner

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
Copy link
Author

lp35 commented Jun 13, 2019

Hi, any news on this? Thanks!

@lp35
Copy link
Author

lp35 commented Jan 8, 2020

Bump! :)

@jasonwhite
Copy link
Owner

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!

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants