Vb.net create a module and deny the debug inside

Hi ,

I have created a module with many functions and I like to deny the debug inside these functions.

There is a way to deny  the debug in one module in particular ?
luca345Asked:
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

x
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

KeldenCommented:
Can cannot prevent somebody to debug your module.
I think what you need is an obfuscator so debugging is very hard.
Something like Obfuscar.
0
nepaluzCommented:
Add this at the begining ofthe sub
If Debugger.IsAttached Then Exit Sub

Open in new window

substitute to exit function where appropriate
0
Jacques Bourgeois (James Burger)PresidentCommented:
Depends on what you intend by denying debug.

Kelden solution is not one used to prevent debugging, it is one used to prevent reverse engineering. And obfuscators usually works on all the application. My understanding is that you want to act only on specific methods. Also unless you have an Express version of Visual Studio, there is an obfuscator built-in, so no need to to look outside of the box.

nepaluz solution works very well, but you usually use that technique to implements special things when debugging, not to exclude debugging. The instruction Debugger.IsAttached instruction ends up being compiled. Personnally, I do not like to have in my release version code that will do nothing. I would rather like to do what you want in a way that involves only the debugger, and is not executed uselessly everything the method is called in release. Personal taste here.

However, if you want to exclude specific lines of code inside of a method, and not exclude the whole method, this is the way to go.

If you simply want to prevent the debugger from entering in the code, you can add the DebuggerStepThrough attribute at the beginning of the methods that you want the debugger to skip:

 <System.Diagnostics.DebuggerStepThrough()> _
Public Function YourFunction As Something

If for some reason you need to debug the method, just comment out the line temporarily:

'<System.Diagnostics.DebuggerStepThrough()> _
Public Function YourFunction As Something
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
OWASP: Threats Fundamentals

Learn the top ten threats that are present in modern web-application development and how to protect your business from them.

luca345Author Commented:
Excellent , this solution is exactly what I need !!!
0
luca345Author Commented:
0
Jacques Bourgeois (James Burger)PresidentCommented:
Done. Look in the other thread.
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Programming Languages-Other

From novice to tech pro — start learning today.