Builder.cz - Informacni server o programovani

Odběr fotomagazínu

Fotografický magazín "iZIN IDIF" každý týden ve Vašem e-mailu.
Co nového ve světě fotografie!

 

Zadejte Vaši e-mailovou adresu:

Kamarád fotí rád?

Přihlas ho k odběru fotomagazínu!

 

Zadejte e-mailovou adresu kamaráda:



Jak vypnout ASSERT v připojené knihovně dll ?

Seznam témat     Nová odpověď

Přihlásit se     Registrace     Zapomenuté heslo

Re: Jak vypnout ASSERT v připojené knihovně dll ?

Autor: 0xenon

19:49:39 07.09.2010

mnjn, vim ze to neni zcela koser modifikovat cizi kod, ale kdyz vyrobce nekomunikuje a navic neni schopnej z nepochopitelnejch duvodu dodat release kod..

assert je knihovni fce. Pokud je to slinkovany staticky, tak bys to stejne musel napatchovat. A jestli ne, tak se s tim da taky neco delat. Hook muzes udelat, ale pak ti muzou nadavat treba nejaky antiviry. A jestli opravdu chces delat hook, tak badej hodne peclive.

Citovat příspěvek

 

Re: Jak vypnout ASSERT v připojené knihovně dll ?

Autor: bufran1

19:30:15 07.09.2010

uff to je trošku hardcore na to že ta knihovna možná bude aktualizována výrobcem jednou za čas ... nicméně 90 procent licencí modifikace výrobků zakazuje a v tomto případě se jedná o seriozní výrobek který musí dodržet licence třetích stran.

ale teď mě napadá že asi ten assert bude knihovní funkce a půjde na ni pověsit nějaký hook. Zkusím probádám a dám vědět :-) díky za radu.

Poslední možnost je trošku reverzovat USB protokol (existuje k němu i dokumentace ale není kompletní), a úplně obejít knihovnu. To by si ale vyžádalo roční zpoždění projektu, což šéf spolkne ale zákazník nezaplatí :-(

BuFran

Citovat příspěvek

 

Re: Jak vypnout ASSERT v připojené knihovně dll ?

Autor: 0xenon

10:03:44 07.09.2010

Prvni co me napada, tu dll napatchovat/vynopovat/upravit importy, zalezi v cem a jak je ta dll prelozena, ale to je jen takovej nastrel.

Citovat příspěvek

 

Jak vypnout ASSERT v připojené knihovně dll ?

Autor: BuFran1

8:11:53 07.09.2010

Zdravím,

Mám tu jeden zapeklitý problém. Používám v jednom projektu dodanou knihovnu pro ovládání speciálního HW (Nikon MAID3), ale ta je přeložena v "debug" režimu. Celý projekt je přeložen jako release (tedy bez ASSERT), ale tato knihovna přeložena být nemůže (nejsou zdrojáky, výrobce nekomunikuje ...).

Problém je, že při mechanickém nastavení HW mi uvnitř knihovny vyskakují ASSERTy (bez vnějšího ovlivnění, ani možnosti jakkoliv vyčíst chybový stav). Potřeboval bych tyto asserty vypnout, protože v okamžiku kdy vyskočí okno Assertu přestane běžet smyčka zpráv, a já nemám možnost jakkoliv programově reagovat na vzniklou situaci. Bohužel zařízení má fungovat plně automaticky, tedy obsluha nemůže odklikávat asserty. Po odkliknutí dialogu je vše OK, navázaná aplikace si poradí se změnou parametrů.

Hledal jsem na internetu, našel jsem, že by se mě mohl týkat soubor "jmeno.exe.config", ve kterém se assertions zakážou. Bohužel program je napsán v MFC, protože do CLR a Windows.Forms to přepsat neumím (součástí Api hardware je velké množství callbacků). Nikde jsem se nedočetl, zdali config soubor funguje i pro MFC, a zdali se pomocí direktivy "system.diagnostics.assert" dá vypnout assert i ve sdílené knihovně. (super by bylo ty asserty třeba logovat).

Předem děkuji za radu.

BuFran

Citovat příspěvek

 

 

 

Přihlášení k mému účtu

Uživatelské jméno:

Heslo: