Per lavoro mi è capitato diverse volte di sviluppare componenti COM.
Quando è una mia applicazione ad eseguirli, individuare il problema anche durante il carcamento tutto sommato non è un problema.
Purtroppo quando sviluppiamo addin per prodotti di terze parti non abbiamo il controllo del processo di loading, e quindi a volte vediamo semplicemente il risultato. Non si carica... Individuare il motivo è spesso estremamente arduo.
Mi hanno girato una soluzione che abilita un log del caricamento, garantendo così l'accesso a informazioni altrimenti non visibili.
Le istruzioni per attivarlo e trovate qui:
Troubleshooting com add in load failures
martedì 2 febbraio 2010
venerdì 15 gennaio 2010
Visualizzazione statistiche database SQL
Tempo fa in un'altro post avevo mostrato come reindicizzare un intero database.
Beh, prima di farlo si può studiare lo stato del database e mostrare le statistiche con il comando:
exec sp_msforeachtable 'dbcc showcontig ("?")'
Uno dei parametri importanti è la "Scan Density", più il valore è basso meno gli indici saranno performanti.
Beh, prima di farlo si può studiare lo stato del database e mostrare le statistiche con il comando:
exec sp_msforeachtable 'dbcc showcontig ("?")'
Uno dei parametri importanti è la "Scan Density", più il valore è basso meno gli indici saranno performanti.
venerdì 3 luglio 2009
Dependency walker... Scoprire le dependencies di una dll....
Spesso un programma non parte con la segnalazione "impossibile caricare l'assmbly xxxx o una delle sue dipendenze..."
Ok, l'assembly xxxx c'è, è li, lo vedo... cos'altro vuole?
Il programmino free che si può scaricare da qui http://www.dependencywalker.com/ consente di scoprire quali DLL vengono referenziate da una DLL, ricorsivamente analizza le dependencies e quindi indica se c'è qualcosa che non va.
Ok, l'assembly xxxx c'è, è li, lo vedo... cos'altro vuole?
Il programmino free che si può scaricare da qui http://www.dependencywalker.com/ consente di scoprire quali DLL vengono referenziate da una DLL, ricorsivamente analizza le dependencies e quindi indica se c'è qualcosa che non va.
mercoledì 10 giugno 2009
giovedì 31 luglio 2008
Troncare il file di log di un database Microsoft SQL
Con SQL 2000 sono sempre incappato nel problema dell'incremento automatico delle dimensioni del file di log del database, infatti per impostazione predefinita il file LDF cresce continuamente di dimensioni, fino a raggiungere le dimensioni massime impostate nel database, o peggio, fino a terminare lo spazio su disco.
Questa situazione si crea semplicemente perchè il file LDF tiene traccia di tutte le transazioni effettuate, anche se correttamente committate.
Per risolvere questo problema è sufficiente lanciare il comando:
DBCC BACKUP LOG [database name] WITH TRUNCATE_ONLY
semplice, immediato e soprattutto, risolutivo.
via: merlinox.tumblr.com
Questa situazione si crea semplicemente perchè il file LDF tiene traccia di tutte le transazioni effettuate, anche se correttamente committate.
Per risolvere questo problema è sufficiente lanciare il comando:
DBCC BACKUP LOG [database name] WITH TRUNCATE_ONLY
semplice, immediato e soprattutto, risolutivo.
via: merlinox.tumblr.com
Etichette:
database,
log,
sql,
sql server,
transazioni
giovedì 17 luglio 2008
Riavvio rapido dei servizi
Sviluppando applicazioni che svolgono attività batch in ambiente microsoft, ci si trova immancabilmente a lavorare con i servizi di windows.
Con questo tipo di programmi il modo di lavorare cambia leggermente, e così non potendo più avviare le applicazioni con l'ambiente di sviluppo, ci si scontra spesso e volentieri con la scomoda interfaccia di gestione dei servizi.
Beh, così scomoda alla fine non è, ma lavorando e debuggando queste applicazioni ci si trova a fermarle e avviarle centinaia di volte al giorno.
Per poter quindi fermare e avviare i servizi con un solo click, si può tranquillamente creare un file .bat con queste 3 righe di codice:
net STOP "service name"
pause
net START "service name"
Il pause tra i due comandi è fondamentale, infatti operativamente si lancerà questo comando, appena il servizio è stoppato sarà possibile compilare l'eseguibile e, a compilazione completata con un solo invio nella schermata DOS aperta, sarà possibile riavviare il servizio.
Comodo, pratico e rapido...
Con questo tipo di programmi il modo di lavorare cambia leggermente, e così non potendo più avviare le applicazioni con l'ambiente di sviluppo, ci si scontra spesso e volentieri con la scomoda interfaccia di gestione dei servizi.
Beh, così scomoda alla fine non è, ma lavorando e debuggando queste applicazioni ci si trova a fermarle e avviarle centinaia di volte al giorno.
Per poter quindi fermare e avviare i servizi con un solo click, si può tranquillamente creare un file .bat con queste 3 righe di codice:
net STOP "service name"
pause
net START "service name"
Il pause tra i due comandi è fondamentale, infatti operativamente si lancerà questo comando, appena il servizio è stoppato sarà possibile compilare l'eseguibile e, a compilazione completata con un solo invio nella schermata DOS aperta, sarà possibile riavviare il servizio.
Comodo, pratico e rapido...
martedì 15 luglio 2008
SandBoxie, un ambiente protetto per eseguire software
Qualche tempo fa, scaricando un software dalla rete mentre avevo l'antivirus poco aggiornato ho infettato il mio pc con un poco gradevole troian.Da allora, oltre a risolvere il problema dell antivirus, ho cominciato ad eseguire i file sospetti in un ambiente protetto. Tengo sempre a portata di mouse una macchina virtuale da avviare all'occorrenza e, una volta testato e controllato il software lo utilizzo sulla macchina reale.
Da pochi giorni ho scoperto una soluzione molto più pratica.
Il software sandboxie infatti si occupa di eseguire un particolare software da voi scelto, in una "scatola chiusa" non consentendo al processo eseguito di accedere direttamente alla scrittura del disco.
Immagine http://www.sandboxie.com/
Molto più pratico di una lenta macchina virtuale, e tutto sommato efficace.
Da pochi giorni ho scoperto una soluzione molto più pratica.
Il software sandboxie infatti si occupa di eseguire un particolare software da voi scelto, in una "scatola chiusa" non consentendo al processo eseguito di accedere direttamente alla scrittura del disco.
Immagine http://www.sandboxie.com/Molto più pratico di una lenta macchina virtuale, e tutto sommato efficace.
Etichette:
antivirus,
protezione,
sandbox
Iscriviti a:
Post (Atom)