Hi Victor,
My guess is that you have a scoping problem.
Are you creating objects on the stack (not via new).
These objects are automatically deleted when you leave the function.
May I suggest the following:
Instead of void AMUAnalysis(int triggerType) {
have only { (unnamed script)
In this case, the objects craeted on the stack will not be removed at the
end of execution.
If you run on a Unix system, could you run Root under gdb and let me
know the traceback. Do:
gdb root.exe
gdb > r
...
... at the crash, do:
gdb > info stack
And send me the output of the info stack command.
Rene Brun
On Thu, 7 Sep 2000, Victor Ikonnikov wrote:
> Hi, all!
>
> I've got a problem running macro with parameters.
> If i call ".x AMUAnalysis.C(0)" from ROOT prompt
> and have "void AMUAnalysis(int triggerType) {"
> inside the macro, it does everything it should,
> but at the very end of execution i have
> "That's all, folks!
>
> *** Break *** segmentation violation
> Root > Function AMUAnalysis() busy flag cleared"
> message. The macro ends with the following lines:
> " cout<< "That's all, folks!"<<endl;
>
> }"
> So i have no idea where and why it crashes.
> If i declare parameter(s) inside the macro,i.e.
> run just ".x AMUAnalysis.C" everything' fine.
> And this doesn't depend on the number of type of parameters.
> Does anybody knows what could it be?
>
> Sincerely yours,
> Victor
>
>
This archive was generated by hypermail 2b29 : Tue Jan 02 2001 - 11:50:32 MET