Debug della DLL? In MT4 e MT5

Academic  

Impossibile avviare il debug della DLL esterna in entrambi i terminali. Il terminale MT5 (64 bit) termina inaspettatamente.

Cosa fare. Ho bisogno del codice come DLL?

Per favore, consigliate come fare questo. Come cercare gli errori. Ho letto che questo divieto di debugging è fatto intenzionalmente, ma non capisco perché dicono che si possono usare librerie esterne.

Francamente, non lo capisco - si scopre che questo è un tale OMICIDIO deliberato sugli utenti. Non è chiaro di cosa siano colpevoli. Sono così arrabbiato che sto per dire: "Siete sadici o cosa? Siete adulti da queste parti. Cosa c'è di sbagliato nel debugging?

Ora cercherò di persuadervi -

Una volta era chiaro che MT4 era unico nel suo genere. Ma ora, grazie a Dio, ci sono abbastanza programmi simili per tutti i gusti e colori. Passerei ad un altro, e l'ho anche scaricato. Ma sono troppo pigro per riqualificare, ri-comprendere l'ideologia di quei sistemi, in un certo senso voglio risparmiare sulle loro fatiche. Ma io dico onestamente - sembra che dovrò riqualificare. Sono già sul punto di guardare questo http://www.fxcm.com/lp-strategy-trader-beta.html, non è la pubblicità in generale questa roba, ma solo portare al fatto che c'è tale che per esempio un'alternativa molto reale. Non hai la possibilità di lavorare affatto. Già non hai nulla non rubare. Non devi più nasconderti. Per favore, accendilo velocemente - voglio lavorare su MT5, ma non posso farlo ora.

Slava  

Non abbiamo ancora studiato il debugging della DLL in Five

Academic  
stringo:

Non abbiamo ancora esplorato la questione del debug delle DLL in Five

Intendo permettere il debugging da debugger esterni. Da visual studio.

Sono davvero seduto qui e non posso fare nulla nei nuovi cinque o quattro. N-i-n-g-o. Poiché gli indicatori non debuggano affatto, le librerie esterne non debuggano a causa della protezione.

C'era sempre una possibilità prima nei quarti momenti difficili di portare in librerie esterne in DLL, e fare il debug lì (beh è ancora denaro, voglio assicurarmi che non ci siano errori!) Ora vietato il debug nel quarto, nessun debug nel quinto. Non posso fare nulla con i vostri programmi. Quando sarò ispirato, mi farò coraggio e comincerò a fare il debug dei programmi in C#, con l'aiuto del programma che ho citato sopra. Cosa state cercando di ottenere? Non capisco. Hai tolto del tutto l'ossigeno. Non finisco mai di stupirmi del vostro atteggiamento nei confronti degli utenti.

Renat Fatkhullin  

Se si pensa più a fondo, la nostra posizione è chiara: proteggiamo il terminale e gli esperti dall'hacking.

Questo alla fine protegge anche gli utenti.

Academic  
Renat:

Se si pensa più a fondo, la nostra posizione è chiara: proteggiamo il terminale e gli esperti dall'hacking.

Questo alla fine protegge anche gli utenti.

Mi dispiace molto che lei non mi capisca. Alla fine è più importante per me essere in grado di fare qualcosa. Che essere felice di essere protetto.

E ho altri due argomenti - Primo, non lancio gli esperti di altre persone senza codice sorgente e non ho intenzione di farlo mai. Il secondo argomento è che dovreste sapere che tali protezioni non funzionano nemmeno contro gli hacker e gli intrusi più seri. Ostacolano solo gli sviluppatori (noi).

Poi c'è un altro ragionamento - supponiamo che il tuo sistema venga violato... Una volta, un super hacker l'ha preso e l'ha violato. Ha fatto uscire un cracker automatico, e ora, finché la versione della vostra protezione non è aggiornata, questo cracker automatico funziona. Quindi non ci sarà alcuna protezione. Supponiamo che un paio di mesi dopo sia uscita una nuova versione di protezione, si sa già come una volta rotta, si romperà molto più velocemente e il numero di hacker sarà più ampio. Cioè, si crea solo l'illusione della protezione, e i poveri utenti sono privati della possibilità di sviluppare programmi in modo più efficiente e conveniente.

Creare una protezione del software non è nemmeno teoricamente possibile. Per essere più precisi, la teoria dimostra che la creazione di tale protezione è impossibile.

Pensate che se fosse possibile creare una protezione veramente efficace, il mondo avrebbe più milionari.

Cioè, gli utenti del vostro programma soffrono alla fine, e gli utenti di altri programmi non soffrono (e lavorano comodamente).

Cioè, hanno un vantaggio competitivo così significativo su di voi.

Academic  
Renat:

State pensando nella direzione sbagliata - protezione contro la decompilazione del formato EX5.

Abbiamo già concesso una volta ai commercianti chiedendo "fateci fare il debug in DLL" e abbiamo ottenuto subito un decompilatore EX4.

Sto pensando al fatto che personalmente non mi importa se qualcuno decompila i miei programmi. Non ho intenzione di (come dovrebbe fare uno sviluppatore normale) non dare via il codice sorgente se passo il programma.

Personalmente io, come utente più tipico e di massa, non mi preoccupo dei problemi di quei programmatori in difficoltà che vendono il loro artigianato senza fonti. Pensando che in questo modo guadagneranno soldi.

Quindi onestamente non capisco - perché non vedete quali problemi colossali create agli sviluppatori. In particolare, se qualcuno ha bisogno di nascondere qualcosa come questo, dovrebbe semplicemente mettere il codice in una libreria esterna o anche in un programma e questo è tutto.

Insomma, non capisco perché devo soffrire e perché sono costretto a imparare altri terminali.

Ruslan Khasanov  
La posizione degli sviluppatori è abbastanza chiara. Se avete un progetto serio, e non potete fare a meno di trasferire parte della logica in DLL, allora emulate lo script con un altro programma (appositamente progettato per il debug delle DLL) e se avete iniziato a creare una DLL, non è un problema creare l'emulatore. Godetevi il debugging quanto volete senza toccare il terminale.
[Eliminato]  
Kos:
La posizione degli sviluppatori è abbastanza chiara. Se avete un progetto serio e non potete fare a meno di passare della logica nella DLL, emulate lo script con l'aiuto di un altro programma (creato appositamente per il debug delle DLL) e se vi siete presi il compito di creare la DLL, l'emulatore non dovrebbe essere un problema. Godetevi il debugging quanto volete senza toccare il terminale.

Sì, giusto, allora metti tutta la MT nell'emulatore, e se sei fortunato sarai in grado di scrivere anche la parte del server. :)

Ma seriamente, penso che l'emulatore sia la soluzione migliore in questa materia.

Academic  
Kos:
In realtà qual è il problema? La posizione degli sviluppatori è abbastanza chiara. Se avete un progetto serio, e non potete fare a meno di rimuovere una parte di logica nella DLL, emulate lo script con l'aiuto di un altro programma (appositamente creato per il debug della DLL). Godetevi il debugging quanto volete senza toccare il terminale.

È un consiglio su come sconfiggere la stupidità che si è creata nel terminale? Che senso ha crearlo? Forse basta sbarazzarsi delle difficoltà artificiali che non fanno alcuna differenza in nessuna materia. Né nella protezione contro la creazione di un decompilatore, ho mostrato perché - perché è sufficiente per hackerare almeno una volta, né nella protezione contro l'hacking.

Ecco perché non capisco il beneficio di questa protezione. E non capisco perché io non lo capisco, mentre la società di sviluppo no.

Per quanto riguarda l'emulazione, ci ho pensato e ho scoperto che è solo una specie di follia! Mi dispiace, allora che diano un tale emulatore con il terminale. :)

Ruslan Khasanov  
Il mio consiglio è una soluzione semplice che può far risparmiare molto tempo durante la progettazione e il debug di una DLL.
Motivazione: