Debugging the DLL? In MT4 and MT5

 

Unable to start debugging external DLL in either terminal. Terminal MT5 (64 bit) terminates unexpectedly.

What to do. I need the code as a DLL?

Please advise how to do this. How to look for errors. I've read that this prohibition on debugging is made intentionally, but I don't understand why they say that external libraries may be used.

Frankly speaking, I don't understand it - it turns out that this is such a deliberate MURDER on users. It's unclear what they're guilty of. I'm so angry that I'm about to say - "Are you fellow metatrader guys sadistic or what? You're grown-ups around here. What's wrong with debugging?

I will now try to persuade you -

It used to be clear that MT4 was one of a kind. But now, thank God - there are enough similar programs for all tastes and colours. I would switch to another one, and I've even downloaded it. But I'm too lazy to retrain, re-understand the ideology of those systems, kind of want to save on their labors. But I say honestly - SEEMS I'll have to retrain. I'm already on the verge of watching this http://www.fxcm.com/lp-strategy-trader-beta.html, it's not advertising in general this stuff, but just bring you to the fact that there is such that for example a very real alternative. You don't have a chance to work at all. Already you have nothing will not steal. There is no need to hide. Please switch it on quickly - I want to work on MT5, but I cannot do it now.

 

We have not yet investigated debugging the dll in Five

 
stringo:

We haven't explored the issue of debugging dlls in Five yet

I mean to allow debugging from external debuggers. From visual studio.

I'm really sitting here and I can't do anything in the new five or four. N-i-n-g-o. Since indicators don't debug at all, external libraries don't debug because of protection.

There was always a possibility before in the fourth difficult moments to bring in external libraries in DLL, and debug there (well it's still money, I want to make sure there are no errors!) Now prohibited debugging in the fourth, no debugging in the fifth. I just can't do anything with your programs. When I will be inspired, I will get my courage and will start to debug programs in C#, with help of the program I cited above. What are you trying to achieve? I don't get it. You've cut off the oxygen altogether. I never cease to be amazed at your attitude towards users.

 

If you think deeper, our position is clear - we protect the terminal and the experts from hacking.

This ultimately protects the users as well.

 
Renat:

If you think deeper, our position is clear - we protect the terminal and the experts from hacking.

This ultimately protects the users as well.

I am very sorry that you do not understand me. In the end it is more important for me to be able to do something. Than just being happy that I'm protected.

And I have two more arguments - First, I don't launch other people's experts without source code and don't plan to ever do that. The second argument is that you should know that such protections do not work against even the most serious hackers and intruders. They only hinder the developers (us).

Then there is more reasoning - suppose your system is hacked ... One time, some super hacker took it and hacked it. He put out an automatic cracker, and now as long as the version of your protection is not updated this automatic cracker will work. So there will be no protection. Suppose a couple of months later a new version of protection came out, it is already knowing how once broke, will break much faster and the number of hackers will be wider. That is, only the illusion of protection is created, and at the same time poor users are deprived of the opportunity to develop programs more efficiently and conveniently.

Creating software protection is not even theoretically possible. To be more precise, theory proves that the creation of such protection is impossible.

Just think that if it were possible to create a truly effective protection, the world would have more millionaires.

That is, users of your program suffer in the end, and the users of other programs do not suffer (and work comfortably).

That is, they have such a significant competitive advantage over you.

 

You are thinking in the wrong direction - protection against EX5 format decompilation.

We already gave in once to traders asking "let us debug in DLL" and immediately got the EX4 decompiler.

 
Renat:

You are thinking in the wrong direction - protection against EX5 format decompilation.

We have already conceded once to traders asking "let us debug in DLL" and got an EX4 decompiler right away.

I'm thinking about the fact that I personally don't care if someone decompiles my programs. I don't plan to (as a normal developer should) not give away the source code if I pass on the program.

Personally I, as a most typical and mass user, don't care about the problems of those struggling programmers who sell their handicrafts without sources. Thinking that in this way they will earn money.

So I honestly do not understand - why don't you see what colossal problems you create for developers. Especially, if someone needs to hide something like this, he should just put the code into an external library or even a program and that's all.

I mean, I don't understand why I have to suffer and why I'm forced to learn other terminals.

 
What is the problem? The developers' position is quite clear. If you have a serious project, and you can't do without transferring some of the logic to DLL, then emulate the script with another program (specially designed for DLL debugging) and if you started to create a DLL, it's no problem to create the emulator. Enjoy debugging as much as you want without touching the terminal.
 
Kos:
What is the problem? The developers' position is quite clear. If you have a serious project and you can't do without passing of some logic into DLL, emulate the script with the help of another program (specially created for DLL debugging) and if you took up the task of DLL creation, the emulator shouldn't be a problem. Enjoy debugging as much as you want without touching the terminal.

Yeah right, then put the whole MT into the emulator, and if you're lucky you'll be able to write the server part for it as well. :)

But seriously, I think the emulator is the best solution in this matter.

 
Kos:
Actually what's the problem? The position of the developers is quite clear. If you have a serious project, and you can't do without removing a part of logic in DLL, emulate the script with the help of another program (specially created for DLL debugging). Enjoy debugging as much as you want without touching the terminal.

Is this advice on how to defeat the stupidity that has been created in the terminal? What is the point of creating it? Maybe just get rid of the artificial difficulties that do not make any difference in any matter. Neither in protection against creating a decompiler, I showed why - because it's enough to hack at least once, nor in protection against hacking.

That's why I don't understand the benefit of this protection. And I don't understand why I don't understand it, while the development company doesn't.

As for the emulation, I thought about it and it turns out that it's just some kind of crazy! I'm sorry, then let them give such an emulator with the terminal. :)

 
My advice is a simple solution that can save a lot of time when designing and debugging a DLL.
Reason: