Question about debugging a DLL.

The most common use of LV for us is to provide a GUI that then calls some DLL’s that then interface to our chip. To complicate things there are at least two families of our part and they use two different DLL’s. To further complicate things, the DLL’s also call other DLL’s to complete the interface.  To complicate things even further, no one here really knows the inner workings of these DLL’s. The person who wrote them no longer works here.
The crux of the issue is as follows: some time ago, I wrote a test suite for one of these families (call it family A). It works fine. My coworker wrote a test suite for the other family (call this family B). His test suite works just fine.
My coworker is in the process of combining the two test suites into one big test suit. When he runs his big test suite, he gets an error when he tries to access device in family A. The error indicates that an unhandled exception has occurred in the DLL.
Debugging is complicated by the fact that these test suites are not simple. We wrote a simple test program that simply initializes the family A device and reads a register. This runs without error. What is interesting is that if we run this simple test program, leave it in memory, then run his combined test suite, the combined test suite seems to work. But if we close the simple test program, the combined test suite fails.
Here is my guess: I think that the DLL’s that are called by the two test suites each call an intermediate DLL (or two) before actually talking to the device. One or more of these intermediate DLL’s have the same name between the two packages but are different in functionality. If we load his combined test suite, the existing code (code that was there before he combined the family A test code) loaded one of these intermediate DLL’s with the correct name but the wrong functionality for family A. Thus, when we run the combined test suite on the family A device, we get an error. But if we run the simple test program first, then it will load the intermediate DLL that has the same name but the correct functionality. If we leave that program open (but not running), when we open the combined test suite, it sees that the intermediate DLL is already loaded and doesn’t do it again. This would leave the correct intermediate DLL in memory. When we run the combined test suite, the correct set of DLL’s is in memory and everything works.
That is the theory. The trouble is that we don’t know what intermediate DLL’s are being called. We are pretty certain that the top level DLL (the one that is called by our LV code directly) is named differently between the two families and is being correctly pointed to by the Call Library nodes. After that, I have no knowledge or control.
Now, after all that, my question is: does anyone know of a tool or method that would help us confirm or dispute this theory or otherwise help us debug this?
thanks,
Joe

Have you browsed the VI Hierarchy of your test suites? This will expose any libraries directly referenced by your LabVIEW application.
Do you have the source code for the DLL?
Also, check out these two StackOverflow questions:
http://stackoverflow.com/questions/220515/how-to-intercept-dll-method-calls
http://stackoverflow.com/questions/3189117/how-to-listen-to-dll-function-calls
a.lia-user-name-link[href="/t5/user/viewprofilepage/user-id/88938"] {color: black;} a.lia-user-name-link[href="/t5/user/viewprofilepage/user-id/88938"]:after {content: '';} .jrd-sig {height: 80px; overflow: visible;} .jrd-sig-deploy {float:left; opacity:0.2;} .jrd-sig-img {float:right; opacity:0.2;} .jrd-sig-img:hover {opacity:0.8;} .jrd-sig-deploy:hover {opacity:0.8;}

Similar Messages

  • Some very basic questions about calling a DLL in C[VI] code.

    Hello everyone!
    I'm sorry if this a really simple concept. I've come from a background of embedded systems, so DLLs are something I haven't really played around with much. Regardless. I'm developing an application in CVI for a project, and I generated a DLL that I want to use in Visual Studio 2013. I was able to compile it and it output the expected *.dll file. My question however is how do I properly import that *.dll into the CVI IDE? I did google and search the forums and I didn't find what I needed exactly.... I did find however this link: <http://www.ni.com/white-paper/8503/en/>. I did read through it all, and I think I'm going to try and use Implicit Linking. In the link it does detail 3 steps: 
    Include the import library (.lib) in your LabWindows/CVI project
    Include the header file that contains the function prototype in your code using #include
    Call the function in your code like any other function
    I was able to easily complete step 1.. Now I'm on step 2. The headerfile that contains the function prototype of my code...I was looking at examples, do I just call the dll file as a .h file now? It seemed that way from what I saw. Do I need to output a header file for the DLL some how? Does the CVI compiler automatically reference that .h file with the lib that was imported? 
    Then in step 3...do I call the functions like they're in another file in the project? Just call the function as usual with the type and then feed the variables into the function and so on?
    Sorry if this is a really rudimentary question.
    Thanks in advance!
    ~Andrew

    The header file definitely isn't the .dll renamed! While creating the .dll, your development environment (don't know which one you've used) should create both a .lib file and a .h file that you must use in your project if you want to go the static linking way. I see you've found the .lib file: the .h file should be available as well, possibly in the same path. The include file lists all the definitions for variables and functions exposed by the dll.
    As per step #3 the answer is yes: you simply call .DLL functions like any other function in your program. At the bottom of the tutorial you've linked there is a link to a Developer Zone Example that is a complete CVI project that uses a .DLL: you may take this as a sample framework to study.
    Proud to use LW/CVI from 3.1 on.
    My contributions to the Developer Zone Community
    If I have helped you, why not giving me a kudos?

  • Question about LabVIEW generated DLL's

    Hello,
    I want to try programming games in either JAVA or FLASH.
    What I want to know is if I can use the LabVIEW generated DDL's for use in my games, without having to need the LabVIEW runtimes installed.
    (in other words, are the LabVIEW generated DLL's, stand alone DLL's as generated in for example C/C++ or other programming languages?) 
    Second, how good is LabVIEW in converting it's code into a DLL. Can I make complicated algorithms, or are just simple functions allowed.
    Hope you guys can spare a few words on this topic.
    Sincerely,
    Heinen  
    The Enrichment Center is required to remind you that you will be baked, and then there will be cake.

    Hello dan_u and thank you for your quick reply.
    If the LabVIEW Runtimes are needed to use the DLL's, that is not a good option for me then. I eventually want to distribute my games over the internet, and having to sent the LabVIEW runtimes with the games is just not an option.
    To bad, I'm better in programming stuff in LabVIEW then in writen C++ like code.
    Sincerely,
    Heinen 
    The Enrichment Center is required to remind you that you will be baked, and then there will be cake.

  • Java.io in J2ee stateless session bean, general questions about debugging

    Doing conventional Java IO (with java.io functions and classes such as
    PrintWriter and println) in a Enterprise bean has been discussed before
    in this and other forum. We know that the EJB specification says not to do it.
    (For example the EJB 2.0 spec, 24.1.2) says that an enterprise
    bean must not use the java.io package to attempt to access files and
    directories int he file system."
    The discussion in various forums including this one is that
    a) using java.io in a bean would impact portability, ability to
    move the bean for load balancing
    b) However, this is not always an an issue and it may be reasonable
    to use these functions anyway. e. g. see the response by "maozhoulu"
    on Jun 21, 2002.
    I tried it in Sun Application Server Nine in my stateless Session Bean:
    package RS;
    import RS.CourseHome;
    import RS.CoursePK;
    import java.rmi.RemoteException;
    import javax.naming.InitialContext;
    import javax.naming.Context;
    import javax.rmi.PortableRemoteObject;
    import javax.ejb.EJBException;
    import java.io.*;
    public class AddCourseBean implements javax.ejb.SessionBean {
       public void ejbCreate(){};
       public void CreateCourse (int CourseNumber, String CourseName) {
        try {
         System.out.println("in Create Course");
         PrintWriter F = null;
         try {
          F = new PrintWriter (new FileOutputStream("/tmp/v/af"));
         catch (java.io.FileNotFoundException fe){}
         F.println ("here zero");F.flush();
         InitialContext jndiContext = new InitialContext();
         F.println ("here one");F.flush();
         Object o = jndiContext.lookup("ejb/X");
             ...I got a Null pointer exception on the line:
    "F.println("here zero"); Is there anyway one can do simple debugging with print lines in one's beans?
    Or is there something obviousthat I am overlooking? (I saw mention of doing
    debugging with System.out.println but to where would the bean write?)
    I tried using the Jakarta Commons Logging, but I got a
    java.lang.NoClassDefFoundError on org/apache/commons/logging/LogFactory
    Which logging system does one use in GlassFish, hopefully one with minimal
    configuration? I want to do some debugging, not set up logging for a full
    enterprise system.
    Thanks for your insight and advice.
    Dr. Laurence Leff, Associate Professor of Computer Science WIU ST447 61455
    Pager 309 367 0787, Fax 309 298 2302

    My apology for posting this message twice. I looked for it before and
    did not see it. I thought I forget to click the "Post message" button.
    Also, I did resolve one problem. System.out.println does go to
    the log file, which in my case turned out to be:
    /opt/j2ee/SUNWappserver/domains/domain1/logs/server.log
    (Obvously, the first part would vary based upon where you installed your
    Application Server Nine.)
    However, it would be nice if there was some way to use FILE I/O inside of
    beans. I am teaching some J2EE in the graduate software engineering course,
    and I believe this would be pedagogically sound even if other techniques
    would be appropriate for a production environment.
    Thanks for your patience with this problem and my duplicate post.

  • Quick question about debugging

    Hi,
    To run a Server class I usually run java -cp pg74.214.jdbc3.jar:. Server username password 30280.
    I want to be able to debug it but have never done it before.
    I've tried replacing java with jdb but it doesn't like it.
    Any tips please?
    Regards,
    Chris

    To run a Server class I usually run java -cp pg74.214.jdbc3.jar:. Server username password 30280.
    I want to be able to debug it but have never done it before.don't know how to do it from command line, but it would be much easier to use an IDE like Eclipse to debug your application. The tool comes with the IDE will be much more helpful.

  • Urgent - Question about logging and debugging.

    Hi,
    I have a question about the logging and debugging supported by
    Weblogic 6.0. From what I understood by reading the documentation
    it has classes e.g. NotCatalogLogger class for logging the information.
    The class has one method callded
    debug() for writing the debugging information. I want to log the
    debug messages only in some situation. Can I control this using
    some property? Because the documentation says that the debug information
    is logged only if application is running in debug mode. Now how
    do I change the mode of an application??
    Thanks and Reagrds,
    Manoj

    Hi,
    I have a question about the logging and debugging supported by
    Weblogic 6.0. From what I understood by reading the documentation
    it has classes e.g. NotCatalogLogger class for logging the information.
    The class has one method callded
    debug() for writing the debugging information. I want to log the
    debug messages only in some situation. Can I control this using
    some property? Because the documentation says that the debug information
    is logged only if application is running in debug mode. Now how
    do I change the mode of an application??
    Thanks and Reagrds,
    Manoj

  • Question about size of ints in Xcode

    Hello. I have a a few quick questions about declaring and defining variables and about their size and so forth. The book I'm reading at the moment, "Learn C on the Mac", says the following in reference to the difference between declaring and defining a variable:
    A variable declaration is any statement that specifies a variables name and type. The line *int myInt;* certainly does that. A variable definition is a declaration that causes memory to be allocated for the variable. Since the previous statement does cause memory to be allocated for myInt, it does qualify as a definition.
    I always thought a definition of a variable was a statement that assigned a value to a variable. If a basic declaration like "int myInt;" does allocate memory for the variable and therefore is a definition, can anyone give me an example of a declaration that does not allocate memory for the variable and therefore is not a definition?
    The book goes on, a page or so late, to say this:
    Since myInt was declared to be of type int, and since Xcode is currently set to use 4-byte ints, 4 bytes of memory were reserved for myInt. Since we haven't placed a value in those 4 bytes yet, they could contain any value at all. Some compilers place a value of 0 in a newly allocated variable, but others do not. The key is not to depend on a variable being preset to some specific value. If you want a variable to contain a specific value, assign the value to the variable yourself.
    First, I know that an int can be different sizes (either 4 bytes or 8 bytes, I think), but what does this depend on? I thought it depended on the compiler, but the above quote makes it sound like it depends on the IDE, Xcode. Which is it?
    Second, it said that Xcode is currently set to use 4-byte ints. Does this mean that there is a setting that the user can change to make ints a different size (like 8 bytes), or does it mean that the creators of Xcode currently have it set to use 4-byte ints?
    Third, for the part about some compilers giving a newly allocated variable a value of 0, does this apply to Xcode or any of its compilers? I assume not, but I wanted to check.
    Thanks for all the help, and have a great weekend!

    Tron55555 wrote:
    I always thought a definition of a variable was a statement that assigned a value to a variable. If a basic declaration like "int myInt;" does allocate memory for the variable and therefore is a definition, can anyone give me an example of a declaration that does not allocate memory for the variable and therefore is not a definition?
    I always like to think of a "declaration" to be something that makes no changes to the actual code, but just provides visibility so that compilation and/or linking will succeed. The "definition" allocates space.
    You can declare a function to establish it in the namespace for the compiler to find but the linker needs an actual definition somewhere to link against. With a variable, you could also declare a variable as "extern int myvar;". The actual definition "int myvar;" would be somewhere else.
    According to that book, both "extern int myvar;" and "int myvar;" are declarations, but only the latter is a definition. That is a valid way to look at it. Both statements 'delcare' something to the compiler, but on the second one 'define's some actual data.
    First, I know that an int can be different sizes (either 4 bytes or 8 bytes, I think), but what does this depend on? I thought it depended on the compiler, but the above quote makes it sound like it depends on the IDE, Xcode. Which is it?
    An "int" is supposed to be a processor's "native" size and the most efficient data type to use. A compiler may or may not be able to change that, depending on the target and the compiler. If a compiler supports that option and Xcode supports that compiler and that option, then Xcode can control it, via the compiler.
    Second, it said that Xcode is currently set to use 4-byte ints. Does this mean that there is a setting that the user can change to make ints a different size (like 8 bytes), or does it mean that the creators of Xcode currently have it set to use 4-byte ints?
    I think that "setting" is just not specifying any option to explicitly set the size. You can use "-m32" or "-m64" to control this, but I wouldn't recommend it. Let Xcode handle those low-level details.
    Third, for the part about some compilers giving a newly allocated variable a value of 0, does this apply to Xcode or any of its compilers? I assume not, but I wanted to check.
    I don't know for sure. Why would you ask? Are you thinking of including 45 lines of macro declarations 3 levels deep to initialize values based on whether or not a particular compiler/target supports automatic initialization? Xcode current supports GCC 3.3, GCC 4.0, GCC 4.2, LLVM GCC, CLang, and Intel's compiler for building PPC, i386, and x86_64 code in both debug and release, with a large number of optimization options. It doesn't matter what compiler you use or what it's behavior is - initialize your variables in C.

  • Basic questions about programing for J9 VM

    I need to create a java application to run on a Pocket PC 2003 OS and I'm limited to using IBM's Websphere J9 Virtual Machine. I'm new to using java in this capacity and therefore have lots of questions which I'm guessing are pretty basic. Despite my best efforts, I've found very little to help me online. Below are a couple questions I have that I'm hoping someone can help me with. Even better, if you know of any resources that could help me with these and other questions, I'd love to have them. Thanks in advance.
    1. I'm using standard AWT for the GUI but I'm having problems getting frames, dialogs, etc., to come up in anything less then full screen. setSize() and resize() have no effect, even if I extend the frame and override the setMinimumSize, setPreferredSize, setMaximumSize methods. What do I need to do to get a child window to appear in something less than full screen?
    2. I'd like to be able to add menu's to the buttom toolbar (with the keyboard) but have no idea how I would add something to it. Can someone point me in the right direction?
    3. When my application gets an iconified event I go ahead and call a System.exit() to exit the application. This doesn't kill the java VM though, which continues to run in the background (taking up plenty of memory). If I run my application using the J9w.exe so that it runs without the console, then not only does the VM continue to run, but I have no way to stop it (the running program list can't see it). Since each time I run my application it starts a new VM, it only takes a couple of times before I'm out of memory and have to do a soft reset of the PDA to make things right. Can I kill the VM when I kill my application?
    4. I learn best by looking at example code, but have been unable to find any code people are running on J9. I have the GolfScoreTracker installed and running on my PDA, but the jar file contains only the classes. Since it's supposed to be a demo, I had hoped that the source code would be included, is that hoping too much or is the source code available somewhere? In addition, if you know of any applications out there with available source code that are known to run well on a PocketPC J9 environment I'd appreciate the link.

    Hi there, I saw your questions, im currently developing a java pocket pc application as well and here's what i go so far:
    AWT seem to be hard to use on pocket pc, instead i recommend that you use SWT, which is a technology developed by eclipse. It's already installed on the eclipse plugins, you just need to download the jar and dll files for the pocket pc. They are available at: http://www.eclipse.org/downloads/index.php
    I assume that you already have the J9 working on your device. So you only need to copy the SWT.jar file and the swt-win32-3064.dll to the folder containing the .class files on your device.
    Now, on your java IDE(im using eclipse) Add the SWT.jar library to your project which should be on C:/eclipse/plugins/org.eclipse.swt.win32_3.0.2/ws/win32/swt.jar or something like taht depending on your eclipse root.
    Now you are ready to code some SWT, here is a sample program from Carolyn MacLeod, i modified a few things so it could run on the pocket pc but it's almost the same. Once you coded in eclipse run it, then copy the class file from your desktop to your device(There should be like 4 or 5 classes like sample.class, sample$1.class etc. copy all of them) where you put the jar and dll files(If program does not run you may try to rename the dll file for swt-win32-3050.dll instead of 3064.dll). Now after you have everything set up you need to create the lnk file in order to run the program. On your desktop create a new textfile and write the following on it:
    255#"\Archivos de Programa\J9\PPRO10\bin\j9w.exe" "-jcl:PPRO10" "-cp" "\My
    Documents\Java\swt.jar" ;\My Documents\Java" sample
    Paths depend on your install, and the place where you put your classes and jar file. path for j9w is usually "\Program Files\J9\PPRO10\bin\j9w.exe", and the last word should be the classname.
    Currently this form only displays an image on a canvas, click on the browse button and choose a pic and it will display on the canvas. Im trying to connect the form to an oracle database but no success yet on the device.
    Hope it helps, if you have any questions about the code or something, and I know the answer, please feel free to ask.
    See ya
    import org.eclipse.swt.*;
    import org.eclipse.swt.widgets.*;
    import org.eclipse.swt.layout.*;
    import org.eclipse.swt.events.*;
    import org.eclipse.swt.graphics.*;
    public class sample {
    static Shell shell;
    static Display display;
    static Text dogName;
    static Text textdb;
    static Combo dogBreed;
    static Canvas dogPhoto;
    static Image dogImage;
    static List categories;
    static Text ownerName;
    static Text ownerPhone;
    static String[] FILTER_EXTS = {"*.jpg"};
    public static void main(String[] args) {
    display = new Display();
    shell = new Shell(display, SWT.RESIZE | SWT.CLOSE);
    Menu menu = new Menu(shell, SWT.BAR);
    shell.setText("Dog ShowS Entry");
    shell.setMenuBar(menu);
    GridLayout gridLayout = new GridLayout();
    gridLayout.numColumns = 3;
    shell.setLayout(gridLayout);
    new Label(shell, SWT.NONE).setText("Dog's NameS:");
    dogName = new Text(shell, SWT.SINGLE | SWT.BORDER);
    GridData gridData = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
    gridData.horizontalSpan = 2;
    gridData.widthHint = 60;
    dogName.setLayoutData(gridData);
    new Label(shell, SWT.NONE).setText("Breed:");
    dogBreed = new Combo(shell, SWT.NONE);
    dogBreed.setItems(new String [] {"Collie", "Pitbull", "Poodle", "Scottie"});
    dogBreed.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));
    Label label = new Label(shell, SWT.NONE);
    label.setText("Categories");
    label.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));
    new Label(shell, SWT.NONE).setText("Photo:");
    dogPhoto = new Canvas(shell, SWT.BORDER);
    gridData = new GridData(GridData.FILL_BOTH);
    gridData.widthHint = 60;
    gridData.verticalSpan = 3;
    dogPhoto.setLayoutData(gridData);
    dogPhoto.addPaintListener(new PaintListener() {
    public void paintControl(final PaintEvent event) {
    if (dogImage != null) {
    event.gc.drawImage(dogImage, 0, 0);
    categories = new List(shell, SWT.MULTI | SWT.BORDER | SWT.V_SCROLL);
    categories.setItems(new String [] {
    "Best of Breed", "Prettiest Female", "Handsomest Male",
    "Best Dressed", "Fluffiest Ears", "Most Colors",
    "Best Performer", "Loudest Bark", "Best Behaved",
    "Prettiest Eyes", "Most Hair", "Longest Tail",
    "Cutest Trick"});
    gridData = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL);
    gridData.widthHint = 60;
    gridData.verticalSpan = 4;
    int listHeight = categories.getItemHeight() * 12;
    Rectangle trim = categories.computeTrim(0, 0, 0, listHeight);
    gridData.heightHint = trim.height;
    categories.setLayoutData(gridData);
    Button browse = new Button(shell, SWT.PUSH);
    browse.setText("BrowsePic");
    gridData = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
    gridData.widthHint = 60;
    browse.setLayoutData(gridData);
    browse.addSelectionListener(new SelectionAdapter() {
         public void widgetSelected(SelectionEvent event) {
              FileDialog dialog = new FileDialog(shell, SWT.OPEN);
              dialog.setFilterExtensions(new String[] {"*.*"});
              String fileName = dialog.open();
    if (fileName != null) {
    dogImage = new Image(display, fileName);
    shell.redraw();
    Button delete = new Button(shell, SWT.PUSH);
    delete.setText("No action");
    gridData = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_BEGINNING);
    gridData.widthHint = 60;
    delete.setLayoutData(gridData);
    delete.addSelectionListener(new SelectionAdapter() {
    public void widgetSelected(SelectionEvent event) {
    Button enter = new Button(shell, SWT.PUSH);
    enter.setText("No action");
    gridData = new GridData(GridData.HORIZONTAL_ALIGN_END);
    gridData.horizontalSpan = 3;
    enter.setLayoutData(gridData);
    enter.addSelectionListener(new SelectionAdapter() {
    public void widgetSelected(SelectionEvent event) {
         shell.open();
         while (!shell.isDisposed()) {
              if (!display.readAndDispatch())
                   display.sleep();
         display.dispose();
    if (dogImage != null) {
    dogImage.dispose();
    }

  • Question about dependent projects (and their libraries) in 11g-Oracle team?

    Hello everyone,
    I have a question about dependent projects. An example:
    In JDeveloper 10.1.3.x if you had for instance 2 projects (in a workspace): project 1 has one project library (for instance a log4j library) and project 2 is a very simple webapplication which is dependent on project 1. Project 2 has one class which makes use of log4j.
    This compiles fine, you can run project 2 in oc4j, and the libraries of project 1 (log4j) are added on the classpath and everything works fine. This is great for rapid testing as well as keeping management of libraries to a minimum (only one project where you would update a library e.g.)
    However in 11g this approach seems not to work at all anymore now that weblogic is used, not even when 'export library' is checked in project 1. The library is simply never exported at all - with a noclassdeffound error as result. Is this approach still possible (without having to define multiple deployment profiles), or is this a bug?
    Thanks!
    Martijn
    Edited by: MartijnR on Oct 27, 2008 7:57 AM

    Hi Ron,
    I've tried what you said, indeed in that .beabuild.txt when 'deploy by default' is checked it adds a line like: C:/JDeveloper/mywork/test2/lib/log4j-1.2.14.jar = test2-view-webapp/WEB-INF/lib/log4j-1.2.14.jar
    Which looks fine, except that /web-inf/lib/ is empty. I presume its a sort of mapping to say: Load it like it in WEB-INF/lib? This line is not there when the deploy by default is not checked.
    I modified the TestBean as follows (the method that references Log4j does it thru a Class.forName() now only):
    public String getHelloWorld() {
    try {
    Class clazz = Class.forName("org.apache.log4j.Logger");
    System.out.println(clazz.getName());
    catch(Exception e) {
    e.printStackTrace();
    return "Hello World";
    In both cases with or without line, it throws:
    java.lang.ClassNotFoundException: org.apache.log4j.Logger
         at weblogic.utils.classloaders.GenericClassLoader.findLocalClass(GenericClassLoader.java:283)
         at weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClassLoader.java:256)
         at weblogic.utils.classloaders.ChangeAwareClassLoader.findClass(ChangeAwareClassLoader.java:54)
         at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
         at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
         at weblogic.utils.classloaders.GenericClassLoader.loadClass(GenericClassLoader.java:176)
         at weblogic.utils.classloaders.ChangeAwareClassLoader.loadClass(ChangeAwareClassLoader.java:42)
         at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
         at java.lang.Class.forName0(Native Method)
         at java.lang.Class.forName(Class.java:169)
         at nl.test.TestBean.getHelloWorld(TestBean.java:15)
    Secondly I added weblogic.xml with your suggested code, in the exploded war this results in a weblogic.xml which looks like:
    <?xml version = '1.0' encoding = 'windows-1252'?>
    <weblogic-web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.bea.com/ns/weblogic/weblogic-web-app.xsd" xmlns="http://www.bea.com/ns/weblogic/weblogic-web-app">
    <container-descriptor>
    <prefer-web-inf-classes>true</prefer-web-inf-classes>
    </container-descriptor>
    <jsp-descriptor>
    <debug>true</debug>
    <working-dir>/C:/JDeveloper/mywork/test2/view/classes/.jsps</working-dir>
    <keepgenerated>true</keepgenerated>
    </jsp-descriptor>
    <library-ref>
    <library-name>jstl</library-name>
    <specification-version>1.2</specification-version>
    </library-ref>
    <library-ref>
    <library-name>jsf</library-name>
    <specification-version>1.2</specification-version>
    </library-ref>
    </weblogic-web-app>
    The only thing from me is that container-descriptor tag, the rest is added to it during the deployment. Unfortunately, it still produces the same error. :/ Any clue?

  • Some questions about building  a plug in

    Hello,
    1.I'm trying to build a plug in ( for EM12c release 2 ) for my standalone java application - which exposes mbeans whom i want to collect some metrics with.
    It's been a while since i started to build it - and I asked quite a lot of quesions about it - because the documnets supplied with the EDK and
    the books ( ProgrammersGuide, ProgrammersReferece and the README file ) are not very clear to me ( I'm a newbie with EM in general .. )
    So far some of the questions got answered and were very halpfull with this long process. BUT, there are some questions that nobody answered yet.
    I'm quite "stuck" with it. I'm talking about the questions in : Re: A question about updating metadata files in plug in
    I have a deadline for this plug in ( which is very close ..) so this the reason I post this new message.
    I will appriciate any help about those questions .
    2. Regarding the above, ( hoping to have an answered soon ..) I'm trying another way to buils this plug in:
    In the README file there is this section( 3.6 : using MPCUI ) . I read the programmersReference ( chapter 8 ) and followed the instructions both in the README file and the ProgrammersReference .
    For a begining, I just wanted to modify a small thing in the example supplied ( Demo Host System ) just to get started with something .
    So i modify the file which contains the label ' Select member ... ' ( i don't remember the name of the file since the project is in my office , and I can't copy/paste ..- I think the the file icontians the name ' ConfirmationTarget .xml - it's one of the pages seen while adding a target ) .
    I i changed it , i build the project ( using FlexBuilder) but did not use ANT as it's says in the README - the eclipse IDE build this file automatically
    ( HostSystem.swf  in bin-debug dir as it says in the README ) . I copied this file to stage_dir/oms/metadata/mpcui .
    i build a new plug in ( i incremented the version of it ) - no errors, everty thing was fine .I also copied this file to the oms server ( it wasn't there before )
    and than run the commad ' emctl register oms ...' as it says in section 3.6 - and o got 'Success' eventually .
    Now, when i opened the EM console , hoping to see tge change i made ( again , it's just a change of the title of the step while adding the target , and adding another menuitem to the 3 item that were alreay there ( CPU, FS, etc ) .
    I believe wad i did is right- i mean changing in the right file and place ( there is no title like like this in any oter source file in the whole project )
    but still, I didn't see any change! it seems execatly as it was befoer the change ..
    Any idea?
    Thanks.

    Regarding your question #2. Please read my response here carefully as it covers a number of different issues.
    1. Ant is not required to build the SWF file in your plug-in. It is an OPTION. Section 8.27 describes the different development options using either Ant or FlexBuilder.
    2. You do NOT need to ever copy a SWF file to any location under the OMS runtime. You need to include it in the stage area and then either build an OPAR or use emctl to incrementally update the deployed plug-in. It has to either be deployed as part of the plug-in deployment or updated incrementally using emctl register oms metadata. Section 8.27.2.6 describes the specific steps to do this incremental update.
    Steps to update the SWF associated with demo_hostsample. These are covered in the README and in chapter 8.
    1. deploy the demo_hostsample plug-in as described in the README
    2. create an instance of the Host Sample target type through manually discovery (Add Targets->Add Non-Host Target Specifying Properties)
    3. using the demo_hostsample.zip project in Flex Builder, modify some part of the code, for example, modify the line containing label="Current Status" to label="My New Label"
    4. rebuild the SWF, to be sure you can to a Clean build of the demo_hostsample project
    5. ensure there is an updated copy of the HostSample.swf under demo_hostsample\mpcui\bin-debug (NOT bin-release, unless you Exported A Release Build)
    6. copy that updated HostSample.swf file to the location on the OMS machine where you unzipped and built the OPAR for the demo_hostsample plug-in
    7. cd to the stage/oms/metadata/mpcui directory and replace the current HostSample.swf with the one you just built (BE SURE ITS THE UPDATED FILE)
    8. execute the command "emctl register oms metadata -sysman_pwd sysman -pluginId oracle.sysman.ohs -service mpcui -file demo_hostsample_uimd_swf.xml (BE SURE TO USE THE CORRECT sysman_pwd)
    At this point you should be able to go to the homepage for the Host Sample target you created and see the changes.

  • Question about IsCancelled

    Hi,
    Has anyone used the TaskHandle.EnableSytemCancel attribute
    with any success? When should this actually used? I want
    to prevent the FORTE runtime from canceling me during
    critical sections of my code.
    Basically, I'm trying to make sure that my database and
    updates I'm doing performing on regular UNIX files are kept
    in sync.
    Does anyone have any sample code that uses this attribute?
    A second question is about the debugger? Is there any
    indication, such as an exception or an event, to the
    running TOOL code when the user presses the Cancel Task
    menu item? I want to do some cleanup before exiting.
    -rick

    I have used the EnableSystemCancel attribute in the case where I am
    interfacing to an external C DLL and I need to leave the DLL in a known
    state before I clean some stuff up when the task terminates. In my case,
    the particular task is a queue service thread, so it's pretty easy to code
    this with a while loop.
    while not task.isCancelled do
    // task body is here
    end while;
    // task cleanup is here
    As for your second question, I believe choosing the Cancel Task option from
    the debugger is the same as calling MyTaskDesc.SetCancel() in TOOL code.
    The on-line help for CancelException has a good example of how to trap and
    handle this.
    Kevin Klein
    Millennium Partners, Inc.
    An association of men who will not quarrel with one another is a thing
    which has never yet existed, from the greatest confederacy of nations
    down to a town meeting or a vestry.
    -- Thomas Jefferson
    -----Original Message-----
    From: Kimball, Richard <[email protected]>
    To: 'Forte Mailing List' <[email protected]>
    Date: Monday, December 15, 1997 5:41 PM
    Subject: Question about IsCancelled
    Hi,
    Has anyone used the TaskHandle.EnableSytemCancel attribute
    with any success? When should this actually used? I want
    to prevent the FORTE runtime from canceling me during
    critical sections of my code.
    Basically, I'm trying to make sure that my database and
    updates I'm doing performing on regular UNIX files are kept
    in sync.
    Does anyone have any sample code that uses this attribute?
    A second question is about the debugger? Is there any
    indication, such as an exception or an event, to the
    running TOOL code when the user presses the Cancel Task
    menu item? I want to do some cleanup before exiting.
    -rick

  • Debugging a dll

    Do I need to link my CVI executable to the debug versions of the export libraries when I want to debug a DLL?
    CVI generates debug versions of both the dll and the export library when you build the dll in debug mode.
    Does CVI automagically switch when debugging the executable and I want to trace into the DLL?
    Menchar

    Hi olhass,
    From what I understand, you're wanting to change the different libraries that are built with the DLL or Executable each time you select to build in release or debug mode. BUT you don't want to have to specify the libraries each time... I guess I'm wondering why you're wanting to do this. The point of building in either debug or release mode is so that you can debug the application before you build the release version. So your build specs would most likely be the same. 
    Take a look at these resources and see if they're any help for you:
    http://zone.ni.com/reference/en-XX/help/370051M-01/cvi/usermanual/prjbldmenudebdlls/
    http://digital.ni.com/public.nsf/allkb/2A11A12C31CABDBF86257B570079D84E?OpenDocument
    The second link is a Knowledge Base article related to a switching between the build libraries for 32-bit and 64-bit configurations. So the process might be similar for doing what you're asking about. 
    Additionally, you'll typically get a better response from the community when you create new posts on the discussion forums as opposed to commenting on old ones. I'd recommend doing that if my post does not lead you to a solution.
    Kelsey W.
    National Instruments
    Applications Engineer

  • Some question about communicating the usb RAW device

    I have some question about USB communication: I want to make my VI communicate
    TI-DSP by USB, now, the driver of USB on DSP have done, and  there are a test
    program writen by VC and a driver fold(with a .inf and a .sys files), when I
    install the driver and run the test program, the driver program on DSP run
    regularly. And then I want to program a VI which have the same function as the
    test program, so I unload the driver on PC firstly, then install the DSP in
    NI_VISA according to "Using NI-VISA 3_0 to Control Your USB Device - Tutorial -
    Instrument Drivers". When I sent the standard control request using the VISA test panel, the status below happened. I don't know what wrong with my step.
    Dev  Phase  Data                       Info           Time   Cmd.Phase.Ofs    
     15  CTL    80 06 03 00 - 00 00 04 00  GET DESCRIPTR  5.2sc        56.1.0       
     14  CTL    80 06 03 00 - 00 00 04 00  GET DESCRIPTR   11us        57.1.0       
     14  USTS   00 00 01 c0                canceled       2.0sc        57.2.0       
     15  USTS   00 00 01 c0                canceled         5us        56.2.0 
    PS: the software I use to capture the data is BUSHOUND
    1、Do I have to install the .sys driver file in VISA? How can I install the driver file without losing the device in MAX?
    2、Someone told me it must be done by calling .dll fies in LV, but I want to know if LV can program the function directly without calling .dll file?
    Thank for any reply~~!

    逍遥浪子 wrote:
    I have some question about USB communication: I want to make my VI communicate TI-DSP by USB, now, the driver of USB on DSP have done, and  there are a test program writen by VC and a driver fold(with a .inf and a .sys files), when I install the driver and run the test program, the driver program on DSP run regularly. And then I want to program a VI which have the same function as the test program, so I unload the driver on PC firstly, then install the DSP in NI_VISA according to "Using NI-VISA 3_0 to Control Your USB Device - Tutorial - Instrument
    Drivers". When I sent the standard control request using the VISA test
    panel, the status below happened. I don't know what wrong with my step. Dev 
    Phase 
    Data                      
    Info          
    Time   Cmd.Phase.Ofs     --- 
    -----  ------------------  15 
    CTL    80 06 03 00 - 00 00 04 00  GET
    DESCRIPTR  5.2sc       
    56.1.0         14 
    CTL    80 06 03 00 - 00 00 04 00  GET
    DESCRIPTR   11us       
    57.1.0         14 
    USTS   00 00 01
    c0               
    canceled      
    2.0sc       
    57.2.0         15 
    USTS   00 00 01
    c0               
    canceled        
    5us        56.2.0  PS: the
    software I use to capture the data is BUSHOUND 1、Do I have to install the .sys driver file in VISA? How can I install the driver file without losing the device in MAX? 2、
    Someone told me it must be done by calling .dll fies in LV, but I want
    to know if LV can program the function directly without calling .dll
    file?
    This thread
    contains already a related answer and explains what a sys driver is.
    While you could theoretically use the Call Library Node to call all the
    necessary Win32 API kernel functions to connect to a device driver,
    this would be very cumbersome and not doable without a real good
    understanding about C programming. Writing an interface DLL instead
    won't need more C programming knowledge at all but will give you a
    clean interface to that device driver which eventually could be used in
    other programming environments as well.
    Rolf Kalbermatter
    Rolf Kalbermatter
    CIT Engineering Netherlands
    a division of Test & Measurement Solutions

  • Some basic questions about rmi registry  context  "bind" and "lookup"

    We have more processing to do than can be accomplished with a single computer. To solve the problem I've implemented a distributed computing solution using RMI. (The first time I saw RMI was about 2 weeks ago, so please bear with me!)
    The implementation is a proof of concept not a fully fleshed out system. I have one "Workunit Distributor" computer and any number of "Data Processor" computers all on the same lan segment. "Workunit Distributor" and "Data Processor" computers are both RMI client and server to each other. The "Data Processor" computers are given the ip address and name of the "Data Distributor" on the commandline when they start. They communicate their willingness to receive and process a workunit to the ""Workunit Distributor" via a RMI call. Work units are sent to available "DataProcessors" and results are eventually returned to the "WorkunitDistributor" (minutes or hours later). The model program works quite well, and appears to be capable of doing the processing we need to get done.
    But now that it seems viable, I've been asked to make it a little more scalable, flexible and self configuring. In particular, instead of one "Workunit Distributor", any number of "Workunit Distributors" should be allowed to show up or disappear from the lan at any time and the system should continue to function. I've worked out a good scheme for how this can be done, but I have a couple of questions about the RMI registry (registries?). I'm trying to keep from implementing some functionality that may already be available as a library or subsystem.
    With my current model design, each computer binds to its own registry with a unique name. For instance:
    CRDataProcessorImpl crdpi = new CRDataProcessorImpl(svr);
    Context crDataProcessingContext = new InitialContext();
    crDataProcessingContext.bind("rmi:"+hostName, crdpi);
    Currently the "Data Processors" get the info they need for a Context lookup() of the one and only "Workunit Distributor" from the commandline. And the info the "Workunit Distributor" needs to do a Context lookup() of a "DataProcessor" is passed to it from each "DataProcessor" via a RMI call.
    But in the newer (yet to be implemented) scheme where any and all "Workunit Distributors" show up and disappear whenever they feel like, the naming bootstrapping scheme described above won't work.
    I can imagine a few ways of solving this problem. For instance, having "Workunit Distributors" multicast their contact information on the lan and have a worker thread on each "Data Processor" keep track of the naming information that was multicast. Another alternative (more organized, but more complex) might be to have a dedicated host with a "well known" address and port that "Workunit Distributors" and "Data Processors" could all go to, to register or look up at an application level. Sort of a "domain name service" for RMI. But both these schemes look like a lot of work to implement , debug and maintain.
    The BEST thing would be if there was one plain vanilla RMI registry that was usable by all RMI enabled computers instead of having each computer have its own local name registry. In volume 2 of the Core Java2 book it says that every registry must be local. I'm only hoping there's been progress since the book was published and now a central rmi registry is available.
    If you have any ideas about this I'd like to hear what you know.
    Thanks in advance for any advice.
    Lenny Wintfeld
    ps - I don't believe web services, as full featured as it is, is a useful alternative. I'm moving 100's (in the future possibly 1000's) of megabytes back an forth for processing.

    The local bind/rebind/unbind restriction is still there and it will always be there.
    I would look at
    (a) RMI/IIOP, where you use COSNaming as a registry, which doesn't have that registriction, and which also has location-independent object identifiers
    (b) Jini.

  • A question about User Exits(EXIT_SAPLRRS0_001)

    Hi,
    i have a question about EXIT_SAPLRRS0_001.
    In this case i want to get a start date of the quarter(Z0DD1) during 2 variables (year 'ZAYEAR1' and quarter 'ZAQTR1'), which are given in a POP-UP Dialog. The following codes:
    CASE i_vnam.
        WHEN 'ZODD1'.
          IF i_step EQ '2'.
            CLEAR: l_s_range.
            READ TABLE I_T_VAR_RANGE INTO i_s_var_range WITH KEY vnam = 'ZAYEAR1'.
            IF sy-subrc EQ 0.
              l_var_year = i_s_var_range-low.
            ENDIF.
            READ TABLE I_T_VAR_RANGE INTO i_s_var_range WITH KEY vnam = 'ZAQTR1'.
            IF sy-subrc EQ 0.
              l_var_quarter = i_s_var_range-low.
            ENDIF.
    *==================start date of the quarter===============
            CALL FUNCTION 'Z_0000_QUARTER_S'
              EXPORTING
                VA_APPLE_QUARTER   = l_var_quarter
                VA_APPLE_YEAR      = l_var_year
              IMPORTING
                VA_APPLE_QUARTER_S = l_var_quarter_s.
            clear l_s_range.
            l_s_range-low = l_var_quarter_s.
            l_s_range-sign = 'I'.
            l_s_range-opt = 'EQ'.
            APPEND l_s_range TO e_t_range.
          ENDIF.
      ENDCASE.
    Please help me to check if this program is right?
    I have made a debugging, but i do not understand, why this program runs 3 time with I_STEP from 0 to 3. In fact I need only the data with I_STEP = 2.
    Addtionally i want to know if the tabel e_t_range will provide the returned value (ZODD1) ?
    THANKS A LOT.

    THanks your replies!
    I would like to know if the e_t_range provides the returned value (In this program i want to get the value of ZODD1)?
    IF yes, in I_STEP = 2 e_t_range save the right value for ZODD1. But this program run one time again--- I_STEP=3, at this time e_t_range hat not any value, that means if i will not get the value for ZODD1?
    THANKS.

Maybe you are looking for

  • Problem with displaying same field in three columns

    Hi I am using reports developer 11g and I have created a report which displays only one field (column), which is id_number as output but I have a problem now. I would like to display the id_number in three columns on one page to save paper, that is,

  • How can i place a query developed in BEX to portal

    Hi Experts, Can any one let me know the Step-by-Step procedure on how can i Migrate/Transport a query developed in BEX to Portal. Thanks in Advance

  • Export and re-import on same database

    For one reason or another we want to do a full export and re-import all the data back into the same tablespaces... is there a command to imp to tell it to truncate and over-write all the data before importing? or do I have to manually drop all the ta

  • I need a shell script code

    hi, Anybody can give me a code of shell script.. i am new to shell script. i have a pl sql procedure 1. it runs everyday at a particlar time 2. i need to send an email to 3 managers. 3. email message contains the query output of the table that is upd

  • Outlook 2013: Cannot insert any attachments into calendar events & tasks

    Hi, I encountered a seemingly ridiculous problem:  I cannot insert any attachments into calendar events & tasks in Outlook 2013 on a Win 8.1 machine. Outlook simply ignores CTRL-V paste actions with files and also all drag&drop actions with files. Do