My Wish - I'd like to be able to debug DLLs in IDE

Got an idea for enhancing PureBasic? New command(s) you'd like to see?
BackupUser
PureBasic Guru
PureBasic Guru
Posts: 16777133
Joined: Tue Apr 22, 2003 7:42 pm

Post by BackupUser »

Restored from previous forum. Originally posted by Rich Brockway.

All,

I have found PureBASIC to be a very interesting and useful product. However, right now I have a project, on my plate, which requires me to build a plug in for another application. It would be very tedious and difficult to attempt to write a "driver" application to test the DLL. Unless I missed something, PB for Windows 3.30 (Demo) does not have this capability. Is this on the wish list? If not, please add it to the top. :)

Thanks,

Rich
BackupUser
PureBasic Guru
PureBasic Guru
Posts: 16777133
Joined: Tue Apr 22, 2003 7:42 pm

Post by BackupUser »

Restored from previous forum. Originally posted by plouf.

Well if you buy it it can make dll's afaik :wink:

Christos
BackupUser
PureBasic Guru
PureBasic Guru
Posts: 16777133
Joined: Tue Apr 22, 2003 7:42 pm

Post by BackupUser »

Restored from previous forum. Originally posted by PB.

> Is this on the wish list? If not, please add it to the top.

Sorry, but only the registered version lets you create DLLs.
There are no plans to allow the demo to do so.
BackupUser
PureBasic Guru
PureBasic Guru
Posts: 16777133
Joined: Tue Apr 22, 2003 7:42 pm

Post by BackupUser »

Restored from previous forum. Originally posted by ricardo.
Sorry, but only the registered version lets you create DLLs.
There are no plans to allow the demo to do so.
But he is not asking to compile in DEMO version. I think that he is asking for a wall to run DLLS directly from IDE without the need to compile dll and call it from the application to test it.

Its like you write some DLL and could call it directly from the IDE and the debug it.

Best Regards

Ricardo

Dont cry for me Argentina...
BackupUser
PureBasic Guru
PureBasic Guru
Posts: 16777133
Joined: Tue Apr 22, 2003 7:42 pm

Post by BackupUser »

Restored from previous forum. Originally posted by Rich Brockway.

test
BackupUser
PureBasic Guru
PureBasic Guru
Posts: 16777133
Joined: Tue Apr 22, 2003 7:42 pm

Post by BackupUser »

Restored from previous forum. Originally posted by Rich Brockway.

All,

I am aware one cannot create DLLs with the demo version. That was not the topic. It is "My Wish - I'd like to be able to debug DLLs in IDE." This means I want to be able to step into the DLL code to debug it. From what I have read, this is a not available with any version (registered or not).

Rich
BackupUser
PureBasic Guru
PureBasic Guru
Posts: 16777133
Joined: Tue Apr 22, 2003 7:42 pm

Post by BackupUser »

Restored from previous forum. Originally posted by Pupil.

A dll procedure in PB is like any other procedure(i think so atleast, Fred?) so you could debugg it like a normal procedure first and when you're satisfied with the function of it, change name of 'Procedure' to 'ProcedureDLL'. This way is not exactly what you asked for but it's the only option at the moment to be able to test the different future dll functions with the aid of the PB-debugger.
BackupUser
PureBasic Guru
PureBasic Guru
Posts: 16777133
Joined: Tue Apr 22, 2003 7:42 pm

Post by BackupUser »

Restored from previous forum. Originally posted by fred.

In fact, you can test all your code as a normal procedure as Pupil said. You can even let the ProcedureDLL keyword when testing, as it doesn't change anything (it just inform the compiler to make the symbol public, which is not a probleme for a normal executable). So you can develop like this:

Code: Select all

  ProcedureDLL EasyRequester(Message$)

    MessageRequester("EasyRequester !", Message$, #MB_ICONINFORMATION)

  EndProcedure
  
  EasyRequester("hello")
And when all is ok, change the output to DLL and that's it.


Fred - AlphaSND
BackupUser
PureBasic Guru
PureBasic Guru
Posts: 16777133
Joined: Tue Apr 22, 2003 7:42 pm

Post by BackupUser »

Restored from previous forum. Originally posted by Rich Brockway.
Originally posted by fred

In fact, you can test all your code as a normal procedure as Pupil said. You can even let the ProcedureDLL keyword when testing, as it doesn't change anything (it just inform the compiler to make the symbol public, which is not a probleme for a normal executable). So you can develop like this:

Code: Select all

  ProcedureDLL EasyRequester(Message$)

    MessageRequester("EasyRequester !", Message$, #MB_ICONINFORMATION)

  EndProcedure
  
  EasyRequester("hello")
And when all is ok, change the output to DLL and that's it.


Fred - AlphaSND
fred,

I know how to do this type of debugging; it is not anything new.

That is not the issue. The issue is this: I need to write a plug in for a 3D game engine; it passes (in C lingo) structs to the DLL. I need to modify the struct and pass it back. It is not simple little task I can run in PureBASIC. It is a huge handicap to not be able to debug a DLL.

Yes, I could use "stone age" debugging using message boxes in the compiled DLL. However, for me, it is simply not worth the work. I'd rather use a development tool, like Visual C++ that has the capability.

Rich
BackupUser
PureBasic Guru
PureBasic Guru
Posts: 16777133
Joined: Tue Apr 22, 2003 7:42 pm

Post by BackupUser »

Restored from previous forum. Originally posted by tinman.
Originally posted by Rich Brockway

Yes, I could use "stone age" debugging using message boxes in the compiled DLL. However, for me, it is simply not worth the work. I'd rather use a development tool, like Visual C++ that has the capability.
Fred wasn't meaning that. He was just showing you that you can call "ProcedureDLL" procedures from your code as you would normally. So you would be able to write your DLL code and test it as a normal PB program.

However, it would still require you to write a test application (or at least some code to call the DLL function) which is what you didn't want to do :)


--
It's not minimalist - I'm increasing efficiency by reducing input effort.
(Win98first ed. + all updates, PB3.50)
BackupUser
PureBasic Guru
PureBasic Guru
Posts: 16777133
Joined: Tue Apr 22, 2003 7:42 pm

Post by BackupUser »

Restored from previous forum. Originally posted by Rich Brockway.
Originally posted by tinman
Originally posted by Rich Brockway

Yes, I could use "stone age" debugging using message boxes in the compiled DLL. However, for me, it is simply not worth the work. I'd rather use a development tool, like Visual C++ that has the capability.
Fred wasn't meaning that. He was just showing you that you can call "ProcedureDLL" procedures from your code as you would normally. So you would be able to write your DLL code and test it as a normal PB program.

However, it would still require you to write a test application (or at least some code to call the DLL function) which is what you didn't want to do :)


--
It's not minimalist - I'm increasing efficiency by reducing input effort.
(Win98first ed. + all updates, PB3.50)
tinman,

Again, it simply does not help. I cannot write a simple PureBASIC program to test the methods. I need to be able to step into the DLL code in the debugger as it is called from the 3D engine. This has been "standard" on many Windows compilers (Delphi, Visual Basic, C++ Builder and Visual C++) since 1996. The current IDE does not allow this.

Rich
BackupUser
PureBasic Guru
PureBasic Guru
Posts: 16777133
Joined: Tue Apr 22, 2003 7:42 pm

Post by BackupUser »

Restored from previous forum. Originally posted by fred.

Right, you want to attach the debugger to another process, like VisualC++ does. It's simply not possible for now with the current IDE. I'm affraid you will have to stick with another product..

Fred - AlphaSND
Post Reply